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  所有数据加载完毕 
上一篇下一篇

猜你喜欢

热点阅读