jQuery Ajax小结

本来想详细说明一下Ajax技术,但是,当手放上键盘时,我发现好像无从说起。

就把自己总结的Ajax直接拷贝吧。

jQuery.ajax( ... )
也可以简写成:$.ajax( ... )
    概述:
        通过HTTP请求加载远程数据
        它是jQuery底层AJAX实现,更多的高层实现可以使用$.get , $.post 等。
        $.ajax()返回其创建的XML HttpRequest对象,
        大多数情况不必使用此函数,而是使用高层实现。

    回调函数:
        $.ajax 的作用是将某些数据(或没有数据)发送至某页面,
        但是在很多情况下,$.ajax 需要那些页面给予它的响应,
        此时就需要使用回调函数:beforeSend , error , dataFilter , success , complete
            |- beforeSend:发送请求之前调用此函数
            |- error:请求出错时调用此函数
            |- dataFilter:请求成功后调用此函数
            |- success:请求之后调用此函数,传入返回后的数据,以及包含成功代码的字符串
            |- complete:请求完成后调用此函数,无论是否成功,传入XML HttpRequest对象,以及一个包含成功或错误代码的字符串
        回调函数的顺序是:beforeSend -> 请求 -> (error) -> 响应 -> dataFilter -> success -> complete -> 结束
        其中关于 error,它只会发生在请求失败的时候,当请求失败之后,dataFilter 和 success 不会执行,但是 complete 会执行
        其中关于 dataFilter,它是一个过滤器,用来对响应数据进行处理,之后,通常情况会返回一个处理后的结果,这个返回结果会交给 success

    发送数据(请求数据)到服务器:
        默认采用GET方法,如果使用POST方法,可以设置 type 参数值,这会影响 data 选项中的内容如何发送到服务器。
        data 选项既可以写成查询字符串的形式:key1=value1&key2=value2,也可以写成映射关系:{key1:'value1',key2:'value2'},使用映射关系时,数据会在发送时被转换成查询字符串,此过程可用通过设置 processData 选项为false来回避此处理过程。

    参数:url , [settings]
        url:一个用来包含发送请求的URL字符串
        settings:AJAX请求设置。所有选项都是可选的,以下是settings选项:
            |- Map accepts:默认取决于数据类型,内容类型发送请求头,告诉服务器什么样的响应会接受返回。
            |- Boolean async:默认true,代表所有请求均为异步请求
            |- Function beforeSend(XHR):发送请求前可修改 XML HttpRequest对象的函数,这是一个Ajax事件,如果返回false可用取消此次ajax请求。
            |- Boolean cache:默认true,缓存此页面
            |- Function complete(XHR,TS):请求完成后回调函数(请求成功或失败后均调用)
            |- Map contents:一个以{字符串:正则表达式}配对的对象,用来确定 jQuery 将如何解析响应,给定其内容类型
            |- String contentType:默认"application/x-www-form-urlencoded",发送信息至服务器时内容编码类型。
            |- Object context:这个对象用于设置 Ajax 相关回调函数的上下文。也就是说,让回调函数内 this 指向这个对象(如果不设定此参数,this 默认执行本次 Ajax 请求时传递的 options 参数)。
            |- Map converters:默认{"* text": window.String, "text html": true, "text json":jQuery.parseJSON, "text xml": jQuery.parseXML},一个数据类型对数据类型转换器对象。
            |- Map crossDomain:默认false(同域请求),跨域请求为false,例如重定向到另一个域。
            |- Object, String data:发送到服务器的数据,将自动转换成请求字符串格式。可通过 processData 为 false 禁止自动转换。
            |- Function dataFilter:对于返回的数据先进行处理,后返回值,交给success回调函数。
            |- String dataType:如果不指定,会自动根据 HTTP 包 MIME 信息来智能判断。可用值:xml、html、script、json、jsonp、text。
            |- Function error:自动判断请求失败时调用此函数,有三个参数:XMLHttpRequest对象、错误信息、(可选)捕获的异常对象。如果发生错误,错误信息除了得到null之外,还可能是"timeout","error","notmodified"和"parsererror"。
            |- Boolean global:默认true,是否触发全局 Ajax 事件。
            |- Map headers:默认{},一个额外的{键:值}对映射到请求一起发送
            |- Boolean ifModified:默认false,仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
            |- Map isLocal:默认去接与当前的位置协议。
            |- String jsonp:在一个 jsonp 请求中重写回调函数的名字。
            |- String jsonpCallback:为 jsonp 请求指定一个回调函数名。主要是用来让 jQuery 生成独特的函数名,管理请求更容易。
            |- String mimeType:一个 mime 类型用来覆盖XHR的MIME类型。
            |- String password:用于响应HTTP访问认证请求的密码
            |- Boolean processData:默认true,通过data选项传递进来的数据,如果是一个对象,都会被处理转化成一个查询字符串。
            |- String scriptCharset:只有当 dataType:'jsonp'或'script',并且type:'GET'时才会用于强制修改charset。
            |- Map statusCode:默认{},一组数值的HTTP代码和函数对象,当响应时调用了响应的代码。
            |- Function,Array success(data, textStatus, jqXHR):请求成功后的回调函数。参数由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串;jqXHR对象。
            |- Boolean traditional:如果想使用传统方式序列化数据,就设置成true。
            |- Number timeout:设置请求超时事件(毫秒)
            |- String type:默认GET,可以使用POST。至于PUT、DELETE等其他的请求方法,只有部分浏览器支持。
            |- String url:默认:当前页地址。发送请求的地址。
            |- String username:用于响应HTTP访问认证请求的用户名
            |- Function xhr:需要返回一个XML HttpRequest对象。
            |- Map xhrFields:一对"文件名-文件值"在本机设置XHR对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewReErWen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值