使用XMLHttpRequest对象的open()方法可以建立一个HTTP请求。用法如下所示:
xhr.open(method, url, async, username, password);
其中xhr表示XMLHttpRequest对象,open()方法包含5个参数,简单说明如下。
- method:HTTP请求方法,必须参数,值包括POST、GET和HEAD,大小写不敏感。
- url:请求的URL字符串,必须参数,大部分浏览器仅支持同源请求。
- async:指定请求是否为异步方式,默认为true。如果为false,当状态改变时会立即调用onreadystatechange属性指定的回调函数。
- username:可选参数,如果服务器需要验证,该参数指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。
- password:可选参数,验证信息中的密码部分,如果用户名为空,则该值将被忽略。
建立连接后,可以使用send()方法发送请求,用法如下。
xhr.send(body);
参数body表示将通过该请求发送的数据,如果不传递信息,可以设置为null或者省略。
发送请求后,可以使用XMLHttpRequest对象的responseBody、responseStream、responseText或responseXML属性等待接收响应数据。
【示例】下面示例简单演示了如何实现异步通信的方法。
var xhr = createXHR(); //实例化XMLHttpRequest对象
xhr.open("GET","server.txt", false); //建立连接,要求同步响应
xhr.send(null); //发送请求
console.log(xhr.responseText); //接收数据
在服务器端文件(server.txt )中输入下面的字符串。
Hello World //服务器端脚本
在浏览器控制台会显示“Hello World”的提示信息。该字符串是从服务器端响应的字符串。