语法
创建 XHR 对象:
1
| var xhr = new XMLHttpRequest();
|
低版本的IE需要使用以下语法:
1
| var xhr = new ActiveXObject('Microsoft.XMLHTTP');
|
兼容写法:
1 2 3 4 5 6 7
| var xhr; function createXMLHttprequest() { if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); }
|
用法
使用 XHR 对象有两个方法:open() & send()
open() 接收三个参数:要发送的请求的类型(get、post等)、请求的 URL 和表示是否发送异步请求的布尔值(false为同步,true为异步。默认为true)
默认情况下,JavaScript在发送 AJAX请求 时,URL 的域名必须和当前页面完全一致。
完全一致的意思是,域名要相同(www.example.com和example.com不同),协议要相同(http和https不同),端口号要相同(默认是:80端口,它和:8080就不同)。
1
| xhr.open("get","example.php",false);
|
以上代码会启动一个针对 example.php 的 GET 请求。有两点需要注意:
1、URL 相对于执行代码的当前页面(也可使用绝对路径)。
2、调用 open() 方法时并不会真正发送请求,而是启动一个请求待发送。
若要发送一个特定的请求,必须调用 send()方法:send() 方法接收一个参数,即作为请求主体发送的数据。若不需要发送数据,则必须传入 null,对于某些浏览器这个参数是必需的。
Read More