js原生ajax
2018-08-20 本文已影响0人
writeanewworld
原生ajax的写法:
1.get
let ajax = new XMLHttpRequest();
ajax.open('get','test.php?id=' + id);
ajax.send(null);
ajax.onreadystatechange = ()=>{
if(ajax.readyState == 4 && ajax.status == 200){
//执行操作
}
}
2.post
let ajax = new XMLHttpRequest();
ajax.open('post','test.php');
ajax.send('id=' + id);
ajax.onreadystatechange = ()=>{
if(ajax.readyState == 4 && ajax.status == 200){
//执行操作
}
}
3.可以封装到方法中使用
还是 觉得jquery封装的ajax方便,直接支持promise方案。或者是axios,这也是对ajax的封装。
4.补充一点
ajax.status == 200是http协议中返回成功的标志
ajax.readyState == 4中的4是什么?
0 未初始化
1 open已经调用,对象已经创建并已经初始化,但是还没有调用send方法。
2 调用send,等待状态码已经头信息的返回
3 正在接收
4 所有数据加载完毕