javascript中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(原因:网络不通. 刷新一下就知道了)

时间: 2025-01-02 05:04:45

javascript中ajax请求方式(GET与POST)状态值说明的相关文章

JavaScript中的继承方式详解

 这篇文章主要介绍了JavaScript中的继承方式详解,本文讲解了js继承的概念.原型式继承与类式继承.原型链继承.类式继承.组合继承.原型式继承等内容,需要的朋友可以参考下     js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承) 类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现继承,可以用js的原型prototype机制或者用apply和call方法去实现 在面向对象的语言中,我们使用类来

浏览器-mvc4中ajax请求重定向问题

问题描述 mvc4中ajax请求重定向问题 在mvc4中我有一个过滤器 在每一个action前都会先调用一次,里面的方法是用来判断用户是否登录如果是程序发出的请求还好可以重定向到登录页面 但ajax 的请求就无法重定向,我现在有一个解决方法但是 还是不完美 这是我的过滤器,如果是ajax的请求就在浏览器头部设置一个标记 protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Use

java-spring-security中ajax请求是,弹出登录框的办法

问题描述 spring-security中ajax请求是,弹出登录框的办法 现在凡是session失效后都会跳转到登录页面.求一个,在session失效后,ajax访问能直接弹出自定义登录框不用跳转登录页面的思路.如何修改其中的filter?修改什么filter? 解决方案 目测应该是ajax请求和正常请求都走了登录filter的原因,然后登录filter判断未登录时都跳了登录页面,所以要解决这个问题,要么你在登录filter里面做判断区分,如果是ajax请求不要跳登录页面,给个特定的返回,然后

Javascript发送AJAX请求实例代码_javascript技巧

一个对AJAX的封装 //url就是请求的地址 //successFunc就是一个请求返回成功之后的一个function,有一个参数,参数就是服务器返回的报文体 function ajax(url,successFunc) { var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); xhr.open("POST",url,true); xhr.onr

javascript中AJAX用法实例分析_javascript技巧

本文实例讲述了javascript中AJAX用法.分享给大家供大家参考.具体分析如下: 兼容地获得XMLHttpRequest对象: var xhr = null; if(window.XMLHttpRequest){ //非IE浏览器 xhr = window.XMLHttpRequest; }else if(window.ActiveXObject){ //IE浏览器 try{ //高版本,受msxml3.dll+支持 xhr = new ActiveXObject("Msxml2.XMLH

关于Javascript中ajax应用详解

1:定义AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术. Ajax 不是一种单一的技术.实际上是几种技术,每种技术都各有其特色,这些技术以全新强大方式融合在一起.Ajax 包含: 使用 XHTML 和 CSS 基于标准的呈现 使用文档对象模型的动态显示和交互 使用 XML 和 XSLT 的数据交换和操作 使用 XMLHttpRequest 的异步数据检索 将它们绑定到一起的 J

关于Javascript中Ajax缓存问题

AJAX缓存本意是为了提高AJAX的效率,减轻服务器的压力:但如果使用不当就有可能导致出现意料之外的结果.如何禁止Ajax的缓存,解决办法有如下几种: 1.在服务端加 header("Cache-Control: no-cache, must-revalidate");(如php中) 2.在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0"); 3.在ajax发送请求前加

实例讲解使用原生JavaScript处理AJAX请求的方法_javascript技巧

Ajax 是异步的JavaScript和XML的简称,是一种更新页面某部分的机制.它赋予了你从服务器获取数据后,更新页面某部分的权力,从而避免了刷新整个页面.另外,以此方式实现页面局部更新,不仅能有效地打造流畅的用户体验,而且减轻了服务器的负载. 下面是对一个基本的 Ajax 请求进行剖析: var xhr = new XMLHttpRequest(); xhr.open('GET', 'send-ajax-data.php'); xhr.send(null); 在这里, 我们创建了一个能向服务

javascript中ajax二级联动下拉效果实例

先来普通一下query ajax参数 data 发送到服务器的数据.将自动转换为请求字符串格式.GET 请求中将附加在 URL 后.查看 processData 选项说明以禁止此自动转换.必须为 Key/Value 格式.如果为数组,jQuery 将自动为不同值对应同一个名称.如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'. 示例:  代码如下 复制代码 $.ajax({    type: &quo