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操作做一些统一处理,比如追加随机数或 ...
随机推荐
- GraphQL 入门介绍
写在前面 GraphQL是一种新的API标准,它提供了一种更高效.强大和灵活的数据提供方式.它是由Facebook开发和开源,目前由来自世界各地的大公司和个人维护.GraphQL本质上是一种基于api ...
- Https协议与HttpClient的实现
一.背景 HTTP是一个传输内容有可读性的公开协议,客户端与服务器端的数据完全通过明文传输.在这个背景之下,整个依赖于Http协议的互联网数据都是透明的,这带来了很大的数据安全隐患.想要解决这个问题有 ...
- B哥竟然也被裁了,聊一聊我的看法
B哥的故事 B哥是在17年底朋友聚会上认识的一个哥们,因为都是程序员,也聊得来.就加了微信.今年是他北漂的第三个年头了. B哥是从小南方长大的一个男孩,高中学习还凑凑活活,勉强过了二本,上了大学没人管 ...
- 面试挂在了 LRU 缓存算法设计上
好吧,有人可能觉得我标题党了,但我想告诉你们的是,前阵子面试确实挂在了 RLU 缓存算法的设计上了.当时做题的时候,自己想的太多了,感觉设计一个 LRU(Least recently used) 缓存 ...
- Python 中的设计模式详解之:策略模式
虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用.<设计模式:可复用面向对象软件的基础>一书中有 23 个模式,其中有 16 个在动态语言中“不见了,或者简化了”. ...
- 重学前端 --- Promise里的代码为什么比setTimeout先执行?
首先通过一段代码进入讨论的主题 var r = new Promise(function(resolve, reject){ console.log("a"); resolve() ...
- Docker安装+HelloWorld+运行Tomcat
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 上一篇已经讲解了为什么需要Docker?,相信大家已 ...
- 调用pymysql模块操作数据库
1.创建数据库表: def create_table(tb_name): import pymysql#导入模块 #连接数据库 db = pymysql.Connect(','zabbix_db') ...
- 有源点最短路径--Dijkstra算法
问题描述:一个带权有向图G与源点v,求从源点v到G中其他顶点的最短路径,并限定各边权值大于0 它的思想在于,对顶点集划分为两组,第一组为已经求出的最短路径的集合(S),期初只有一个顶点,此后每求出一个 ...
- JAVA设计模式之简单粗暴学建造者模式
文章由浅入深,先用简单例子说明建造者,然后分析模式的优缺点,最后结合优秀开源框架Mybatis,说明该模式的用处. 1.先定义一个机器人模型 package com.jstao.model; publ ...