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操作做一些统一处理,比如追加随机数或 ...
随机推荐
- Gradle入门到实战(一) — 全面了解Gradle
声明:本文来自汪磊的博客,转载请注明出处 可关注个人公众号,那里更新更及时,阅读体验更好: 友情提示由于文章是从个人公众号拷贝过来整理的,发现图片没有正常显示,没关注公众号的同学可通过如下链接查看: ...
- 将AE开发的专题图制作功能发布为WPS
AE开发可以定制化实现ArcGIS的地理处理功能,并实际运用于其他方面的工作,有时候我们还希望将AE开发的功能发布为网络地理信息处理服务(WPS),从而能在Web端更自由便利地调用所需要的地学处理算法 ...
- Java8新特性之一:Lambda表达式
Java8是自java5之后最重大的一次更新,它给JAVA语言带来了很多新的特性(包括编译器.类库.工具类.JVM等),其中最重要的升级是它给我们带来了Lambda表达式和Stream API. 1. ...
- PHP 中move_uploaded_file 上传中文文件名失败
项目需要上传文件名保持不变,发现上传中文失败:错误如下: move_uploaded_file(public/upload/files//-/\开密二次开发.rar): failed to open ...
- 学JAVA的第十九天,抽象类注意事项
最近老师老是不讲新课,好繁!!! 还是来说抽象类吧. public abstract class A{ //因为下边有一个抽象方法,所以这就必须要是一个抽象类,要不然编译不能通过 public voi ...
- Python函数的定义、参数传入与函数的调用
作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...
- Vue基本使用
Vue.js是一款流行的开源JavaScript前端框架,旨在更好地组织与简化Web开发.Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模 ...
- 立即执行函数 IIFE
立即执行函数表达式IIFE(Immediately-invoked function expression)我们知道,在javascript(ES5)中,是没有块级作用域的概念的.看一个例子 for ...
- 文件进行MD5计算
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Windows Server 2016-图形化新建域用户(一)
上章节我们介绍了有关OU组织单位的日常管理,本章我们将对域用户的创建进行简单介绍,常规的操作方法是通过管理控制台图形化手工创建,具体操作方法如下: 1.常规管理控制台 Active Directory ...