jQuery(八)、ajax
博客已迁移到CSDN《https://blog.csdn.net/qq_33375499》
1、jQuery.ajax(url[, settings])
通过HTTP请求加载远程数据。
注意:所有的settings选择都可以通过$.ajaxSetup()函数来全局指定。
回调函数
在实际开发中,当我们需要处理$.ajax() 得到的数据,就需要使用到回调函数。
(1) beforeSend:在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。
(2) error:在发送请求出差时调用。传入 XMLHttpRequest 对象、描述错误类型的字符串以及一个异常对象。
(3) dataFilter:在请求成功之后调用。传入返回的数据以及 'dataType'参数的值。并且必须返回新的数据传递给success回调函数。
(4) success:请求发送成功,后台返回数据调用。
(5) complete:在请求完成之后调用,无论成功或失败。出入 XMLHttpRequest 对象,以及包含成功或失败代码的字符串。
settings选项
1 async Boolean
默认为true,表示所有请求均为异步请求。如果要发送同步请求,将该属性设置为false。
2 beforeSend(XHR) function
function (XMLHttpRequest) {
this; // 调用本次AJAX请求时传递的options参数
}
3 cache Boolean
默认为true,dataType为script和jsonp时默认为false,jQuery1.2新功能,设置为false将不缓存此页面。
4 complete(XHT, TS) function
function (XMLHttpRequest, textStatus) {
this; // 调用本次AJAX请求时传递的options参数
}
5 contents Map
一个以"{字符串:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定内容类型。
6 contentType String
默认为"application/x-www-form-urlencoded",发送信息至服务器时的内容编码类型。
7 context Object
这个对象用于设置ajax相关回调函数的上下文。即让回调函数内的 this 关键字指向这个对象(如果不设置这个参数,this将指向本次ajax请求时传递的options参数)。比如指定一个DOM元素作为context参数,回调函数的this 就指向这个 DOM元素。
8 converters Map
默认为 {"* text":window.String, "text html":true, "text json":jQuery.parseJSON, "text xml":jQuery.parseXML},表示对一个数据类型进行转换。每个转换器的值是一个函数,返回相应的转化值。
9 crossDomain Map
默认false,表示同域请求。如你想强制跨域请求(如JSONP形式),设置为false,是服务端重定向到另一域。
10 data Object, String
发送到服务器的数据。将自动转换为请求字符串格式。可以为字符串,如"&key1=val1&key2=val2",也可以是一个json对象。
11 dataFilter function
给ajax返回的原始数据进行相应的处理。提供data和type两个参数:data是返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。
function (data, type) {
// 对Ajax返回的原始数据进行预处理
return data // 返回处理后的数据
}
12 dataType String
设置服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息来智能判断,比如XML MIME就被识别为XML。可用值:
xml:返回XML文档。
html:返回纯文本HTML信息。
script:返回纯文本JavaScript代码。不会自动缓存结果,除非设置了cache参数。
json:返回JSON格式数据。
jsonp:返回JSONP格式。
text:返回纯文本字符串。
13 error function
function (XMLHttpRequest, textStatus, errorThrown) {
// 通常 textStatus 和 errorThrown 之中只有一个会包含信息
this; // 调用本次AJAX请求时传递的options参数
}
14 global function
默认为true,触发全局ajax时间。如果设置为false,将不会触发全局ajax时间,如ajaxStart 或 ajaxStop可用于控制不用的 ajax事件。
15 headers Map
默认为 {} 。以 key:value 的形式设置请求头信息。
16 mimeType String
一个mime类型,用来覆盖XMLHttpRquest 的 MIME类型。
17 password String
用于响应HTTP访问认证请求的密码。
18 processData Boolean
默认为true,表示通过data选项传递进来的数据,如果是一个对象,都会转换成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送DOM 树信息或其他不希望转换的信息(如使用ajax上传文件),请设置为false。
19 statusCode Map
默认为 {} ,一组数字的HTTP代码和函数对象,当相应时调用了相应的代码。
// 如果响应状态是404,将触发以下警报:
$.ajax({
statusCode: {404: function() {
alert('page not found');
}
});
20 success(data, textStatus)
21 timeout Number
设置请求超时时间(毫秒)。此设置会覆盖全局设置$/ajaxSetup()
22 type String
请求方式,默认为GET
23 url String
发送请求的地址。
24 username String
用于响应HTTP访问认证请求的用户名。
2、load(url[, data][, callback])
载入远程HTML文件代码并插入至DOM中。
默认使用GET繁琐,传递data参数自动转换为POST方式。
参数:
(1) url:带装入HTML网页地址。
(2) data:发送至服务器的key/value数据。
(3) callback:载入成功时回调函数。
3、jQuery.get(url[, data][, callback][, type])
通过远程HTTP GET 请求载入信息。
这是这个简单的GET请求功能以取代复杂 $.ajax。请求成功时可回调函数,如果需要咋出错时执行函数,请使用$.ajax。
参数:
(1) type:返回内容格式,xml、html、script、json、text、_default。
4、jQuery.getJSON(url[, data][, callback])
通过HTTP GET请求载入JSON数据。
5、jQuery.getScript(url[, callback])
通过HTTP GET请求载入并执行一个JavaScript文件。
参数:
(1) url:带装入js文件地址。
(2) callback:载入成功时回调函数。
6、jQuery.post(url[, data][, callback][, type])
通过远程HTTP POST请求载入信息。
这是这个简单的POST请求功能以取代复杂 $.ajax。请求成功时可回调函数,如果需要咋出错时执行函数,请使用$.ajax。
参数:
(1) type:返回内容格式,xml、html、script、json、text、_default。
7、jQuery.ajaxSetup([options])
设置全局AJAX默认选项。参数参考'$.ajax' settings。
$.ajaxSetup({
url: "/xxx",
type: "POST"
});
$.ajax({ data: myData });
8、serializeArray()
序列化表格元素返回JSON数据结构数据。
返回JSON数组对象,其中每个对象包含一个或两个名值对——name参数和value参数。如:
[
{name: 'firstname', value: 'Hello'},
{name: 'lastname', value: 'World'},
{name: 'alias'}, // this one was empty
]
jQuery(八)、ajax的更多相关文章
- 第一百八十五节,jQuery,Ajax 表单插件
jQuery,Ajax 表单插件 学习要点: 1.核心方法 2.option 参数 3.工具方法 传统的表单提交,需要多次跳转页面,极大的消耗资源也缺乏良好的用户体验.而这款 form.js 表单的 ...
- jQuery整理笔记八----jQuery的Ajax
Ajax,我一直读的是"阿贾克斯",据当时大学老师讲该读音出处是依据当年风靡欧洲的荷兰足球俱乐部阿贾克斯的名字来的,我认为说法挺靠谱的. jQuery封装了Ajax的交互过程,用户 ...
- 从零开始学习jQuery (六) AJAX快餐
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- 【原创经验分享】JQuery(Ajax)调用WCF服务
最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...
- jQuery版AJAX简易封装
开发过程中,AJAX的应用应该说非常频繁,当然,jQuery的AJAX函数已经非常好用,但是小编还是稍微整理下,方便不同需求下,可以简化输入参数,下面是实例代码: $(function(){ /** ...
- JS原生ajax与Jquery插件ajax深入学习
序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...
- 重写jquery的ajax方法
//首先备份下jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=function(opt){ //备份opt中error和success ...
- Jquery通过Ajax方式来提交Form表单
今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...
- 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache
虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或 ...
随机推荐
- selenium+python+eclipse 实现 “问卷星”网站,登录与检查登录示例!
1.使用selenium+python+eclipse实现的登录"问卷星",问卷星访问地址:https://www.sojump.com/ 2.实现步骤:1)进入链接---首页-- ...
- sum() 函数性能堪忧,列表降维有何良方?
本文原创并首发于公众号[Python猫],未经授权,请勿转载. 原文地址:https://mp.weixin.qq.com/s/mK1nav2vKykZaKw_TY-rtw Python 的内置函数 ...
- 在javaScript中检测数据类型的几种方式
类型检测的方法 typeof instanceof Object.protype.toString constructor duck type:鸭子类型 typeof 返回一个字符串,适合函数对象和基 ...
- vue客户端渲染首屏优化之道
提取第三方库,缓存,减少打包体积 1. dll动态链接库, 使用DllPlugin DllReferencePlugin,将第三方库提取出来另外打包出来,然后动态引入html.可以提高打包速度和缓存第 ...
- SSH免密登陆原理及实现
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.SSH简介 SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA.DSA等. RSA:非对称加密算法,其安全性基于极其困难 ...
- .NET Core之微信支付之公众号、H5支付篇
前言 本篇主要记录微信支付中公众号及H5支付全过程. 准备篇 公众号或者服务号(并开通微信支付功能).商户平台中开通JSAPI支付.H5支付. 配置篇 公众号或者服务号中 -------开发----- ...
- ASP.NET Core微服务实战系列
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注. 前言 这里记录的是个人奋斗和成长的地方,该篇只是一个系列目录和构想 ...
- 贾天昊 - Nick
- MongoDB之基本操作与日常维护
MongoDB基本操作 MongoDB的基本操作主要是对数据库.集合.文档的操作,包括创建数据库.删除数据库.插入文档.更改文档.删除文档.和查询文档. 操作 描述 show dbs 查看当前实例下的 ...
- Windows Server 2016-批量新建域用户(二)
前几个章节我们讲到Windows Server 2016-图形化新建域用户(一),本章节我们简单讲解下如何通过命令批量创建域用户,以便高效完成日常工作中实际批量创建用户需求,内容涉及dsadd use ...