首先得创建一个请求XMLHttpRequest对象,var xmlhttp=window.XMLHttpRequest?new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
IE5和6使用ActiveX对象,格式如红字部分;正常情况下XMLHttpRequest就行了,格式如蓝字部分
1.请求
发送请求到服务器,使用XMLHttpRequest的open()和send()方法:
open(method,url,async)
规定请求的类型、URL 以及是否异步处理请求。
- method:请求的类型;GET 或 POST
- url:文件在服务器上的位置
- async:true(异步)或 false(同步)
send(string)
将请求发送到服务器。
- string:仅用于 POST 请求
举例如下:
(1)xmlhttp.open("GET","demo_get2.asp?fname=Bill&lname=Gates",true);
xmlhttp.send();
(2)
xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates"); ps:async=false时,及同步时,响应什么的放在send()后面
关于是使用get还是post:
get:简单快速,大部分情况可用
post:
- 无法使用缓存文件(更新服务器上的文件或数据库)
- 向服务器发送大量数据(POST 没有数据量限制)
- 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
2.获取响应结果
两个:responseText(获得字符串形式的响应数据) responseXML(获得xml形式的响应数据),这两个也是XMLHttpRequest对象的方法,
结合上面建立的对象xmlhttp,可以这么使用xmlhttp.responseTest;
3.onreadystatechange事件
待补充