jquery ajax请求实例深入解析


Posted in Javascript onNovember 26, 2012

jquery中封装了一些ajax请求的方法,很实用。
比如.ajaxComplete()——请求完成时.ajaxError()——请求失败时.ajaxSend()——在Ajax请求发送时附加一个function去执行.ajaxStart()——请求开始时,.ajaxStop()——请求结束时.ajaxSuccess()——请求成功时.load()——从服务端加载数据并将返回的HTML替换到选择的元素中jQuery.post()——使用HTTP POST请求加载服务端数据.serialize()——将form元素集编码成一个字符串以便提交.serializeArray()——将form元素集编码成一个键值对数组jQuery.param()——创建一个序列化的数组或对象,使得适用于一个URL查询字符串或者Ajax请求jQuery.getScript()——从服务端加载一个js文件,然后执行它jQuery.getJSON()——从服务端加载用JSON编码过的数据jQuery.get()——从服务端加载数据简单说其中两点一、.ajaxStart()和.ajaxStop()

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript" src="test/jquery-1.7.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$('.log1').ajaxStart(function() { 
$(this).text('Triggered ajaxStart handler.'); 
}); 
$('.log2').ajaxStop(function() { 
$(this).text('Triggered ajaxStop handler.'); 
}); 
$('.trigger').click(function() { 
$('.result').load('xixi.html'); 
}); 
}); 
</script> 
</head> 
<body> 
<div class="trigger">Trigger</div> 
<div class="result"></div> 
<div class="log1"></div> 
<div class="log2"></div> 
</body> 
</html>

代码中class为result的元素load了一个xixi.html,此文件中的内容随便,只要存在这个文件就行。js执行方法的顺序是先
$(this).text('Triggered ajaxStart handler.');

然后
加载晚xixi.html里的内容到class为result的元素中
最后
$(this).text('Triggered ajaxStop handler.');

二、
.ajaxSend()、.ajaxComplete()、.ajaxSuccess()以及.ajaxError()

[html]
<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript" src="test/jquery-1.7.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$('.log1').ajaxStart(function() { 
$(this).text('Triggered ajaxStart handler.');//【1】 
}); 
$('.log2').ajaxStop(function() { 
$(this).text('Triggered ajaxStart handler.');//【5】 
}); 
$('.result').ajaxSend(function() { 
$(this).text('Triggered ajaxSend handler.');//【2】 
}); 
$('.result').ajaxComplete(function() { 
$(this).text('Triggered ajaxComplete handler.');//【4】 
}); 
$('.result').ajaxSuccess(function() { 
$(this).text('Triggered ajaxSuccess handler.');//【3】 
}); 
$(".result").ajaxError(function() { 
$(this).text( "Triggered ajaxError handler." ); 
}); 
$('.trigger').click(function() { 
$('.result').load('xixi.html'); 
}); 
}); 
</script> 
</head> 
<body> 
<div class="trigger">Trigger</div> 
<div class="result"></div> 
<div class="log1"></div> 
<div class="log2"></div> 
</body> 
</html>

上述代码中还是class为result的加载一个html文件。
执行顺序代码中已经标出
如果请求过程中出现什么错误,比如说文件不存在等,就会执行.ajaxError()中的方法而不是.ajaxSuccess()中的。
以前总是对ajax认识很乱,现在有个全面的认识,总结一下,希望共同学习,另外请求中的方式是HTTP GET还是HTTP POST也是值得研究的。
jquery中介绍ajax的地址ajax的使用
Andy_能力越到责任越大
Javascript 相关文章推荐
jquery的键盘事件修改代码
Feb 24 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
js实现文字跑马灯效果
Feb 23 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
基于Bootstrap表单验证功能
Nov 17 Javascript
详解Nuxt.js Vue服务端渲染摸索
Feb 08 Javascript
Vue项目全局配置微信分享思路详解
May 04 Javascript
JS实现盒子拖拽效果
Feb 06 Javascript
原生js实现自定义难度的扫雷游戏
Jan 22 Javascript
jquery validate poshytip 自定义样式
Nov 26 #Javascript
一个可拖拽列宽表格实例演示
Nov 26 #Javascript
JS编程小常识很有用
Nov 26 #Javascript
javascript:history.go()和History.back()的区别及应用
Nov 25 #Javascript
js实现拖拽 闭包函数详细介绍
Nov 25 #Javascript
jquery miniui 教程 表格控件 合并单元格应用
Nov 25 #Javascript
JavaScript mapreduce工作原理简析
Nov 25 #Javascript
You might like
PHP生成UTF8文件的方法
2010/05/15 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
关于this和self的使用说明
2010/08/01 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
在nodejs中创建child process的方法
2021/01/26 NodeJs
Python中logging模块的用法实例
2014/09/29 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
解决python运行启动报错问题
2020/06/01 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
城市轨道专业个人求职信范文
2013/09/23 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
面试后感谢信
2014/02/01 职场文书
国旗下的演讲稿
2014/05/08 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
学生会辞职信
2015/03/02 职场文书
食品安全主题班会
2015/08/13 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
ipad隐藏软件app图标方法
2022/04/19 数码科技