Jquery中AJAX参数详细介绍

Jquery中AJAX参数详细介绍:

参数名 类型 描述:

url String(默认: 当前页地址)发送请求的地址。type String(默认: "GET")请求方式 ("POST"或"GET"),默认为"GET"。

timeout Number设置请求超时时间(毫秒)。此设置将覆盖全局设置。async Boolean(默认: true)默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。beforeSend Function发送请求前可修改XMLHttpRequest对象的函数,如添加自定义HTTP头。XMLHttpRequest对象是唯一的参数。
function(XMLHttpRequest) {
    this; // the options for this ajax request
}
cache Boolean(默认: true) jQuery 1.2新功能,设置为false将不会从浏览器缓存中加载请求信息。complete Function请求完成后回调函数 (请求成功或失败时均调用)。参数:XMLHttpRequest对象,成功信息字符串。
function(XMLHttpRequest, textStatus) {
    this; // the options for this ajax request
}

contentType String(默认: "application/x-www-form-urlencoded")发送信息至服务器时内容编码类型。默认值适合大多数应用场合。data Object,
String发送到服务器的数据。将自动转换为请求字符串格式。GET请求中将附加在URL后。查看processData选项说明以禁止此自动转换。必须为Key / Value格式。如果为数组,jQuery将自动为不同值对应同一个名称。如 {
    foo: ["bar1", "bar2"]
}转换为'&foo=bar1&foo=bar2'。dataType String预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息返回responseXML或responseText,并作为回调函数参数传递,可用值:

"xml": 返回XML文档,可用jQuery处理。

"html": 返回纯文本HTML信息;包含script元素。

"script": 返回纯文本JavaScript代码。不会自动缓存结果。

"json": 返回JSON数据。

"jsonp": JSONP格式。使用JSONP形式调用函数时,如"myurl?callback=?"jQuery将自动替换 ? 为正确的函数名,以执行回调函数。

error Function(默认: 自动判断 (xml或html))请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest对象,错误信息,(可能)捕获的错误对象。
function(XMLHttpRequest, textStatus, errorThrown) {
    // 通常情况下textStatus和errorThown只有其中一个有值 
    this; // the options for this ajax request
}

AJAX默认代码模板:

 

$(document).ready(function() {
    jQuery("#clearCac").click(function() {
        jQuery.ajax({
            url: "/Handle/Do.aspx",
            type: "post",
            data: {
                id: '0'
            },
            dataType: "json",
            success: function(msg) {
                alert(msg);
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.status);
                alert(XMLHttpRequest.readyState);
                alert(textStatus);
            },
            complete: function(XMLHttpRequest, textStatus) {
                this; // 调用本次AJAX请求时传递的options参数
            }
        });
    });
});

返回错误信息:

 

一、error:function (XMLHttpRequest, textStatus, errorThrown) 
(默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,
还可能是
"timeout", "error", "notmodified""parsererror"。 textStatus: "timeout", "error", "notmodified""parsererror"。 二、error事件返回的第一个参数XMLHttpRequest有一些有用的信息: XMLHttpRequest.readyState: 状态码: 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了 三、data:"{}", data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror. 四、parsererror的异常和Header 类型也有关系。及编码header('Content-type: text/html; charset=utf8'); 五、XMLHttpRequest.status:略

 

使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,本文详细的说明了ajax中error函数和函数中各个参数的用法。

一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown)。常见调用代码如下:

    $.ajax({
        url: '/Home/AjaxGetData',            
        success: function (data) {
            alert(data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            /*错误信息处理*/
        }
    });
这里对这三个参数做详细说明。

第一个参数 jqXHR :这里的jqXHR是一个jqXHR对象,在Jquery1.4和1.4版本之前返回的是XMLHttpRequest对象,1.5版本以后则开始使用jqXHR对象,该对象是一个超集,
就是该对象不仅包括XMLHttpRequest对象,还包含其他更多的详细属性和信息。
这里主要有4个属性: readyState :当前状态,
0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。 status :返回的HTTP状态码,比如常见的404,500等错误代码。 statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。 responseText :服务器响应返回的文本信息 第二个参数 String textStatus:返回的是字符串类型,表示返回的状态,根据服务器不同的错误可能返回下面这些信 息:"timeout"(超时), "error"(错误), "abort"(中止), "parsererror"(解析错误),还有可能返回空值。 第三个参数 String errorThrown:也是字符串类型,表示服务器抛出返回的错误信息,如果产生的是HTTP错误,那么返回的信息 就是HTTP状态码对应的错误信息,比如404的Not Found,500错误的Internal Server Error。

 

posted on 2017-06-01 10:00  o笨小孩o  阅读(654)  评论(0编辑  收藏  举报