GET 和 POST
GET 请求:
* xml.open("get",,"url地址", true); 例如1:为了避免缓存的效果,我们要在URL后面添加一个唯一的ID xml.open("GET","demo_get.asp?t=" +Math.random(),true);
* xml.send (); 向服务器发送请求, 如果是get请求类型 send 后面是空
* xml.open("get","url地址",true); 例如2: 用GET发送请求 ,我们需要在 URL 后面添加(后台规定好的数据格式 )信息; xmlhttp.open("GET","demo_get2.asp?fname=Bill&lname=Gates",true);
* xml.send () ; 向服务器发送请求, 如果是get请求类型 send 后面是空
POST请求
*xml.open("post","url地址",true)
* xml.setRequestHeader ("Content-type","application/x-www-form-urlencoded")
如果需要像HTML表单那样提交数据,就用 setRequestHeader() 来添加HTTP头,然后在send()方法中添加规定好的数据;(只有post请求是会添加HTTP头)
* xml.send("fname=Bill&lname=Gates") 添加规定好的数据格式
True(异步) 和 False(同步)
XMLHttpRequest 对象要是用于AJAX的话,那么 open()方法中必须设置为true(异步);
通过 AJAX,javascript无需等待服务器的响应,而是:
* 在等待服务器响应时执行其他脚本;
* 当响应就绪后对相应进行处理
true:
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
false:
一般不会使用 false ,因为 javascript 会等到服务器响应就绪才继续执行,如果服务器繁忙或缓慢,那么应用程序会挂起或停止.
如果 open() 方法用的是 false ,请不要编写 onreadystatechange 函数 ,把代码放到 spen() 方法后面.
xmlhttp.open("GET","test1.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;