网站地图    收藏   

主页 > 前端 > javascript >

javascript中ajax请求方式(GET与POST)状态值说明

来源:自学PHP网    时间:2014-09-19 14:48 作者: 阅读:

[导读] ajax请求方法有常用的get,post两种方法,但他们返回的状态值有很多种并且每一段代码代表着不同的意思,我们看看各种代码意义吧,希望对各位同学会有所帮助。...

 注意:XMLHttpRequest 是 AJAX 的基础,在创建 XMLHttpRequest 对象时,必须与你写的ajax方法在同一个‘<script></script>’标签中!否则ajax请求会出错,并无法返回数据。 javascript/js的ajax的POST/GET请求。

 javascript/js的ajax的POST请求:

 代码如下 复制代码

<script type="text/javascript">
/* 创建 XMLHttpRequest 对象 */
var xmlHttp;
function GetXmlHttpObject(){
    if (window.XMLHttpRequest){
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }else{// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhttp;
}
// -----------ajax方法-----------//
function getLabelsPost(){
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
        alert('您的浏览器不支持AJAX!');
        return;
    }
    var url="http://www.111cn.net /t/"+Math.random();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send();
    xmlHttp.onreadystatechange=getLabelsOK;//发送事件后,收到信息了调用函数
}
function getOkPost(){
    if(xmlHttp.readyState==1||xmlHttp.readyState==2||xmlHttp.readyState==3){
        // 本地提示:加载中/处理中
                                                 
    }
    if (xmlHttp.readyState==4 && xmlHttp.status==200){
        var d=xmlHttp.responseText; // 返回值
        // 处理返回值
    }
}
</script>

javascript/js的ajax的GET请求:

 代码如下 复制代码

<script type="text/javascript">
/* 创建 XMLHttpRequest 对象 */
var xmlHttp;
function GetXmlHttpObject(){
    if (window.XMLHttpRequest){
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }else{// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhttp;
}
// -----------ajax方法-----------//
function getLabelsGet(){
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
        alert('您的浏览器不支持AJAX!');
        return;
    }
    var id = document.getElementById('id').value;
    var url="http://www.lifefrom.com?id="+id+"&t/"+Math.random();
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=favorOK;//发送事件后,收到信息了调用函数
    xmlHttp.send();
}
                   
function getOkGet(){
    if(xmlHttp.readyState==1||xmlHttp.readyState==2||xmlHttp.readyState==3){
        // 本地提示:加载中
                         
    }
    if (xmlHttp.readyState==4 && xmlHttp.status==200){
        var d= xmlHttp.responseText;
        // 处理返回结果
                           
    }
}
</script>

readyState属性

包括五种可能的取值:

  0: (未初始化)send方法还没有被调用

  1: (加载中)已调用了send方法,请求还在处理

  2: (已加载)send方法已完成,整个应答已接收

  3: (交互中) 正在解析应答

  4: (已完成) 应答已经解析,准备好进行下一步处理。

对象XMLHttpRequest

属性status的含义:

  0**:未被始化

  1**:请求收到,继续处理

  2**:操作成功收到,分析、接受

  3**:完成此请求必须进一步处理

  4**:请求包含一个错误语法或不能完成

  5**:服务器执行一个完全有效请求失败

  100——客户必须继续发出请求(Continue)

  101——客户要求服务器根据请求转换HTTP协议版本(Switching protocols)

  200——交易成功(OK)

  201——提示知道新文件的URL(Created)

  202——接受和处理、但处理未完成(Accepted)

  203——返回信息不确定或不完整(Non-Authoritative Information)

  204——请求收到,但返回信息为空(No Content)

  205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件(Reset Content)

  206——服务器已经完成了部分用户的GET请求(Partial Content)

  300——请求的资源可在多处得到(Mult<a href="http://ip.111cn.net/">ip</a>le Choices)

  301——删除请求数据(Moved Permanently)

  302——在其他地址发现了请求数据(Found)

  303——建议客户访问其他URL或访问方式(See Other)

  304——客户端已经执行了GET,但文件未变化(Not Modified)

  305——请求的资源必须从服务器指定的地址得到(Use Proxy)

  306——前一版本HTTP中使用的代码,现行版本中不再使用

  307——申明请求的资源临时性删除(Temporary Redirect)

  400——错误请求,如语法错误(Bad Request)

  401——请求授权失败(Unauthorized)

  402——保留有效ChargeTo头响应(Payment Required)

  403——请求不允许(由于服务器上文件或目录的权限设置导致资源不可用)(Forbidden)

  404——没有发现文件、查询或URl(没有找到指定的资源)(Not Found)

  405——用户在Request-Line字段定义的方法不允许(Method Not Allowed)

  406——根据用户发送的Accept拖,请求资源不可访问(Not Acceptable) 

  407——类似401,用户必须首先在代理服务器上得到授权(Proxy Authentication Required)

  408——客户端没有在用户指定的饿时间内完成请求(Request Timeout)

  409——对当前资源状态,请求不能完成(Conflict)

  410——服务器上不再有此资源且无进一步的参考地址(Gone)

  411——服务器拒绝用户定义的Content-Length属性请求(Length Required)

  412——一个或多个请求头字段在当前请求中错误(Precondition Failed)

  413——请求的资源大于服务器允许的大小(Request Entity Too Large)

  414——请求的资源URL长于服务器允许的长度(Request-URI Too Long)

  415——请求资源不支持请求项目格式(Unsupported Media Type)

  416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段(Requested Range Not Suitable)  

  417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求(Expectation Failed)<br />  

  500——服务器产生内部错误(Internal Server Error)

  501——服务器不支持请求的函数(Not Implemented)

  502——服务器暂时不可用,有时是为了防止发生系统过载(Bad Gateway)

  503——服务器过载或暂停维修(Service Unavailable)

  504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长(Gateway Timeout)

  505——服务器不支持或拒绝支请求头中指定的HTTP版本(HTTP Version Not Supported )

  12029——an unknown error occurred while processing the request on the server. the status code returned from the server was : 12029(原因:网络不通. 刷新一下就知道了)

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论