AJAX $.ajax()方法详解

AJAX的$.ajax()方法通过HTTP请求加载远程数据,$.ajax()返回其创建的XMLHttpRequest对象,$.ajax()是jquery中通用的一个ajax封装。码笔记分享AJAX $.ajax()方法详解:

$.ajax()方法详解

url

类型:String
默认为当前页地址发送请求的地址。

type

类型:String
请求方式post或get,默认为get;put和delete也可以使用,但仅部分浏览器支持。

timeout

类型:Number
设置请求超时时间(毫秒),此设置将覆盖$.ajaxSetup()方法的全局设置。

async

类型:Boolean
默认值:true,默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

cache

类型:Boolean
默认值:true,dataType为script和jsonp时默认为false。设置为false将不缓存此页面。

data

类型:Object或String
发送到服务器的数据,如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。

dataType

类型:String
预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息来智能判断,比如XMLMIME类型就被识别为XML。在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

  • "xml":返回XML文档,可用jQuery处理。
  • "html":返回纯文本HTML信息;包含的script标签会在插入dom时执行。
  • "script":返回纯文本JavaScript代码。不会自动缓存结果。除非设置了"cache"参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
  • "json":返回JSON数据。
  • "jsonp":JSONP格式。使用JSONP形式调用函数时,如"myurl?callback=?"jQuery将自动替换?为正确的函数名,以执行回调函数。
  • "text":返回纯文本字符串
  • beforeSend

    类型:Function
    发送请求前可修改XMLHttpRequest对象的函数,如添加自定义HTTP头。XMLHttpRequest对象是唯一的参数。这是一个Ajax事件。如果返回false可以取消本次ajax请求。

    complete

    类型:Function
    请求完成后回调函数(请求成功或失败之后均调用)。
    参数:XMLHttpRequest对象和一个描述请求类型的字符串。这是一个Ajax事件。

    success

    类型:Function
    请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。这是一个Ajax事件。

    error

    类型:Function
    默认值:自动判断(xml或html)。请求失败时调用此函数。
    有以下三个参数:XMLHttpRequest对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout","error","notmodified"和"parsererror"。这是一个Ajax事件。

    contentType

    类型:String
    默认值:"application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。

    默认值适合大多数情况。如果你明确地传递了一个content-type给$.ajax()那么它必定会发送给服务器(即使没有数据要发送)。

    dataFilter

    类型:Function
    给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数:data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

    dataFilter

    要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
    function(data, type){
    //返回处理后的数据
    return data;
    }

    global

    类型:Boolean

    是否触发全局AJAX事件。默认值:true。设置为false将不会触发全局AJAX事件,如ajaxStart或ajaxStop可用于控制不同的Ajax事件。

    ifModified

    类型:Boolean

    仅在服务器数据改变时获取新数据。默认值:false。使用HTTP包Last-Modified头信息判断。在jQuery1.4中,它也会检查服务器指定的'etag'来确定数据没有被修改过。

    jsonp

    类型:String
    在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

    username

    类型:String

    用于响应HTTP访问认证请求的用户名。

    password

    类型:String

    用于响应HTTP访问认证请求的密码。

    processData

    类型:Boolean

    默认值:true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或其它不希望转换的信息,请设置为false。

    scriptCharset

    类型:String

    只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。通常只在本地和远程的内容编码不同时使用。

    2020双十二服务器价格出炉,又降价了!
    双十二拼团:阿里云双十二服务器拼团(全网最低价直接拼不用拉人)
    ①真便宜:阿里云服务器69元1年,203元3年(全网最低价)
    ②腾讯云:腾讯云双十二服务器特惠88元一年起(有高配)
    ③代金券:2020阿里云双十二代金券一键领取中