Ajax中有关readyState(状态值)和status(状态码)的问题

var getXmlHttpRequest=function(){

  try{

    //主流浏览器提供了XMLHttpRequest对象

    return new XMLHttpRequest();

  }catch(e){

    //低版本的IE浏览器没有提供XMLHttpRequest对象,IE6以下,所以必须使用IE浏览器的特定实现ActiveXObject

    return new ActiveXObject("Microsoft.XMLHTTP");

  }

};

var xhr=getXmlHttpRequest();

//readyState 0=>初始化 1=>载入 2=>载入完成 3=>解析 4=>完成

xhr.open("type","url",true);

xhr.send();

xhr.onreadystatechange=function(){

  //console.log(xhr.status);//HTTP状态码

  //console.log(xhr.readyState);

  if(xhr.readyState===4 && xhr.status===200){

    alert(xhr.responseText);

  }

};

1.Ajax:readyState(状态值)和status(状态码)的区别

readyState,是指运行AJAX所经过的几种状态,无论访问是否成功都将响应的步骤,可以理解成AJAX运行步骤,使用“ajax.readyState”获得

status,是指无论AJAX访问是否成功,由HTTP协议根据所提交的信息,服务器返回的HTTP头信息代码,使用“ajax.status”获得

2.什么是readyState

readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态。

readyState总共有5个状态值,分别为0~4,每个值代表了不同的含义

  0:初始化,XMLHttpRequest对象还没有完成初始化

  1:载入,XMLHttpRequest对象开始发送请求

  2:载入完成,XMLHttpRequest对象的请求发送完成

  3:解析,XMLHttpRequest对象开始读取服务器的响应

  4:完成,XMLHttpRequest对象读取服务器响应结束

3.什么是status

status是XMLHttpRequest对象的一个属性,表示响应的HTTP状态码

在HTTP1.1协议下,HTTP状态码总共可分为5大类

①:信息响应类,表示接收到请求并且继续处理

②:处理成功响应类,表示动作被成功接收、理解和接受

③:重定向响应类,为了完成指定的动作,必须接受进一步处理

④:客户端错误,客户请求包含语法错误或者是不能正确执行

⑤:服务端错误,服务器不能正确执行一个正确的请求

status常见状态码

200——交易成功

404——没有发现文件、查询或URL

500——服务器产生内部错误

posted @ 2017-06-14 15:06  万杨-亿扬  阅读(1084)  评论(0编辑  收藏  举报