博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery ajax学习笔记
阅读量:6507 次
发布时间:2019-06-24

本文共 2851 字,大约阅读时间需要 9 分钟。

这两天做项目的时候频繁用到jquery ajax,很多东西都忘了。于是写下这篇文章,加深印象,也方便自己日后查阅。

先看一下基本版本:

$.ajax({    url: url,    //请求的url地址    dataType: datatype,   //服务器返回的值类型    async: true, //请求是否异步,默认为异步    data: {         "id": "value" ,        "param":"param"    },//发送到服务器的参数    type: "GET",   //请求方式    beforeSend: function() {        //请求前的处理    },    success: function(data) {        //请求成功时处理    },    complete: function() {        //请求完成的处理    },    error: function() {        //请求出错处理    }});

接下来来详细看一下各个属性

  • url 请求的url地址,String类型

  • dataType 服务器返回的值的类型。【若没有填写,jQuery会自动根据HTTP包MIME信息来智能判断。若填写错了反而会有问题】有以下几种类型:

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

    • "html": 返回纯文本HTML信息;包含的 script 标签会在插入 dom 时执行。

    • "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为GET请求。(因为将使用DOM的script标签来加载)

    • "json": 返回 JSON 数据

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

    • "text": 返回纯文本字符串

  • data 发送到服务器的参数。GET请求中将附加在URL后。

  • type 请求方式GET【默认方式】 | POST

  • async Boolean类型。默认值: true【表示异步】。

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

  • cache Boolean类型。【默认】true。当dataType为script和jsonp时默认为 false。设置为false将不缓存此页面。

    【默认情况下,请求总会被发出去,但浏览器有可能从它的缓存中调取数据。要禁止使用缓存的结果,可以设置 cache 参数为 false】

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

    contentType:"application/x-www-form-urlencoded; charset=utf-8"

  • beforeSend 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。(没有实践过,不是很懂。)

  • success 请求成功后的回调函数。参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。

  • dataFilter 在请求成功之后调用。提供 data 和 type 两个参数:data 是 Ajax 返回的原始数据,type 是调用 jQuery.ajax 时提供的 dataType 参数。并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。

  • error 很明显是请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 "timeout", "error", "notmodified" 和 "parsererror"。

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

  • global 是否触发全局AJAX事件。默认为true | 【不触发则设置为】false。用于阻止响应注册的回调函数,比如 .ajaxSend,或者 ajaxError,以及类似的方法。这在有些时候很有用,比如发送的请求非常频繁且简短的时候,就可以在 ajaxSend 里禁用这个。

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

    【如果希望判断数据自从上次请求后没有更改过就报告出错的话,设置ifModified为true】

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

  • jsonpCallback 为 jsonp 请求指定一个回调函数名。这个值将用来取代 jQuery 自动生成的随机函数名。这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。

    你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。

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

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

    如果服务器需要 HTTP 认证,可以使用用户名和密码可以通过 username 和 password 选项来设置。

  • processData 默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。

    【发送 DOM 树信息或其它不希望转换的信息设置为false】。

  • scriptCharset 只有当请求时 dataType 为 "jsonp" 或 "script",并且 type 是 "GET" 才会用于强制修改 charset

    通常只在本地和远程的内容编码不同时使用。

  • timeout 设置请求超时时间(毫秒)。此设置将覆盖全局设置。

参考文章:

转载地址:http://fizfo.baihongyu.com/

你可能感兴趣的文章
OpenSSH曝高危漏洞 会泄露私钥
查看>>
艾特网能获2016APCA用户满意品牌大奖
查看>>
《CCNP TSHOOT 300-135学习指南》——第2章 结构化故障检测与排除进程
查看>>
《Java EE 7精粹》—— 2.5 非阻塞I/O
查看>>
《Python数据科学实践指南》一2.2 字符串
查看>>
《R数据可视化手册》——1.1 安装包
查看>>
《iOS创意程序设计家》——导读
查看>>
spring-aop
查看>>
android RecycleView Adapter简单封装
查看>>
PgSQL · 案例分享 · 递归收敛优化
查看>>
Dart的数据库操作
查看>>
Codeforces 591 B Rebranding【Codeforces Round #327 (Div. 2)】
查看>>
命名难,难于上青天
查看>>
做完和做好不一样
查看>>
APUE读书笔记-05标准输入输出库(7)
查看>>
23 第一周作业
查看>>
DNS解析偶尔延迟
查看>>
iOS打电话,发短信,发邮件,打开网址
查看>>
06-验证码-基本功能实现
查看>>
Java数据结构与算法(六) 希尔排序
查看>>