XMLHttpRequest发送请求和获取响应

来源:互联网 发布:云南省扶贫大数据平台 编辑:程序博客网 时间:2024/05/23 18:33

发送请求

open(method, url, async) 用于调用HTTP请求
method: 请求的方式,get还是post(不区分大小写,一般用大写)
url: 请求的地址(可以是相对或绝对地址)
async: 请求是同步还是异步的,一般AJAX使用异步(true),且默认为true

send(string) 发送请求到服务器
get时,参数可不填写,因为都写在url中
post时,参数一定要填写

例子:

request.open("GET", "get.php", true);request.send();request.open("POST", "post.php", true);request.send();//这里是POST但是没给出参数,实际应用很少request.open("POST", "create.php", true");request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");request.send("name=王二狗 & sex=男");

获取响应

responseText: 获得字符串形式的响应数据
responseXML: 获得XML形式的响应数据(用的较少,大多数情况用JSON)
status, statusText: 以数字和文本形式返回HTTP状态码
getAllResponseHeader(): 获取所有的响应报头
getResponseHeader(参数): 查询响应中某个字段的值

属性
readyState: 响应是否成功
0:请求为初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接收,接收到头信息了
3:请求处理中,接收到响应主题了
4:请求已完成,且响应已就绪,也就是响应完成了
监听该属性的变化:

var request = new XMLHttpRequest();request.open("GET", "get.php", true);request.send();//该属性每次变化时会触发request.onreadystatechange = function(){    //若响应完成且请求成功    if(request.readyState === 4 && request.status === 200){        //do something, e.g. request.responseText    }}
2 0
原创粉丝点击