美文网首页技术干货程序员
$.ajax()方法详解

$.ajax()方法详解

作者: 会飞的猪l | 来源:发表于2017-07-20 15:24 被阅读137次

    1.url:
    要求为string类型的参数,(默认是当前页面的地址)发送请求地址。
    2.type:
    要求为string类型的参数,请求方式(post或get)默认是get。注意其他http请求方法,例如put和delete也可以使用,但是仅部分浏览器支持。
    3.timeout:
    要求是number类型的参数,设置请求超时时间。
    4.async:
    要求是boolean类型的参数,默认设置是true,所有请求均为异步请求,如果需要发布同步请求,将此选项改为false。注意:同步请求将锁定浏览器,用户其他请求必须等待请求完成后才能执行。
    5.cache:
    要求是boolean类型的参数,默认设置是true(当dataType是script时,默认是false),设置为false将不会从浏览器缓存中加载请求信息。
    6.data:
    要求为object或者string类型的参数,发送服务器的数据。如果不是字符串,将自动转化为字符串格式。get请求将附加在url之后。防止这种自动转换,可以查看 processData选项。对象必须为key/value格式。例如{foo:'bar',foo2:'bar2'}转化为&foo=bar&foo2=bar2。如果是数组,jquery将自动为不同值对应统一名称。例如{foo:['bar','bar2']}转化为&foo=bar1&foo=bar2。
    7.dataType:
    要求为string类型的参数,预期服务器返回的数据类型。如果不指定,jquery将自动更具http包mime信息返回responseXML或者responseText,作为回调函数参数传递。可用的类型如下:
    xml:返回xml文档,可用jquery处理。
    html:返回纯文本html信息,包含的script标签会在插入DOM时执行。
    script:返回纯文本的Javascript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都会变成get请求。
    json:返回json数据。
    jsonp:jsonp格式,使用JSONP格式调用函数时,例如myurl?callback=?,jquery将自动替换后一个“?”为正确的函数名,以执行回调函数。
    text:返回纯文本字符串。
    8.beforeSend:
    要求为function类型的参数,发送请求前可以修改XMLhttpRequest对象的函数,例如自定义HTTP头。在beforeSend中返回false可以取消本次ajax请求。XMLhttpRequest对象是唯一的参数。
    function(XMLHttpRequest){
    this;//调用本次ajax请求时传递的options参数
    }
    9.complete:
    要求为function类型的参数,请求完成后调用的回调函数(请求成功失败都调用)。参数XMLHttpRequest对象和一个描述成功请求类型的字符串。
    function(XMLHttpRequest,textStatus){
    this;//调用本次ajax请求时传递的options参数
    }
    10.success:
    要求为function类型的参数,请求成功后的回调方法,有两个参数。
    (1)由服务器返回,并根据dataType参数进行处理后的参数
    (2)描述状态的字符串
    function(data,TextStatus){
    data成功之后返回的数据
    TextStatus状态的字符串
    }
    11.error:
    要求为funciton类型的参数,请求失败后的回调方法。该函数有3个参数,即XMLHttpRequest对象,错误信息,捕获的错误对象(可选)。
    12.contentType:
    要求为String类型的参数,当发送信息到服务器的时候,内容编码类型默认为“application/x-www-form-urlencoded”。该默认值适合大多数应用场合。
    13.dataFilter:
    要求为function类型的参数,给AJAX返回的原始数据进行预处理的函数。提供data和type两个参数。data是ajax返回的原始数据,type是调用jquery.ajax时提供的dataType参数。函数返回的值将由jquery进一步处理。
    14.global:
    要求为boolear类型的参数,默认为true,表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。
    15.ifModified:
    要求为boolear类型的参数,默认是false。仅在服务器数据改变时获取新数据,服务器数据改变判断的依据是Last-Modified头信息。默认是false,即忽略头信息。
    16.jsonp:
    要求为string类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来代替“callback=?”这种get或post请求中URL参数里的“callback”部分,例如{jsonp:‘onJsonPLoad’}会导致将‘onJsonPLoad=?’传给服务器。
    17.username:
    要求为string类型的参数,用于相应http访问认证请求的用户名。
    18.password:
    要求为string类型的参数,用户相应http访问认证请求的密码。
    19.processData:
    要求为boolean类型的参数,默认为true。默认情况下,发送的数据将被转化为对象(从技术角度来讲并非字符串)以配合默认内容类型“application/x-www-form-urlencoded”。如果要发送DOM树信息或其他不希望转化的信息,请设置为false。
    20.scriptCharset:
    要求为string类型的参数,只有当请求时dataType为‘jsonp’或‘script’,并且type是get时才会用于强制修改字符集。通常在本地和远程的内容编码不同时使用。
    21 xhrFields: {
    withCredentials: true
    }
    crossDomain: true,
    用来解决跨域问题

    相关文章

      网友评论

        本文标题:$.ajax()方法详解

        本文链接:https://www.haomeiwen.com/subject/frndkxtx.html