ajax 原生 xhr 对象
事件
onreadystatechange
xhr.open("get","example.php", false);
xhr.send(null)
send()方法接收一个参数,即要作为请求主体发送的数据。调用send()方法后,请求被分派到服务器
如果是GET方法,send()方法无参数,或参数为null;如果是POST方法,send()方法的参数为要发送的数据
响应之前
readyState
0(UNSENT):未初始化。尚未调用open()方法
1(OPENED):启动。已经调用open()方法,但尚未调用send()方法
2(HEADERS_RECEIVED):发送。己经调用send()方法,且接收到头信息
3(LOADING):接收。已经接收到部分响应主体信息
4(DONE):完成。已经接收到全部响应数据,而且已经可以在客户端使用了
responseText: 作为响应主体被返回的文本(文本形式)
status: HTTP状态码(数字形式)
200 ok 304 不ok
404,500
function myAjax(method,url,data,fn){ var xhr; // console.log(XMLHttpRequest); if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject('Microsoft.XMLHTTP'); } xhr.onreadystatechange = function(){ if(xhr.readyState =='4'){ if(xhr.status == '200'){ // alert(xhr.responseText); fn(xhr.responseText); } } } //发送请求 xhr.open(method,url,true); (method == 'get')?xhr.send();xhr.send(data): // console.log(xhr); }