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 相关文章推荐
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
Mar 04 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
Jul 27 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
Dec 27 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
vue.js 初体验之Chrome 插件开发实录
May 13 Javascript
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
Node实战之不同环境下配置文件使用教程
Jan 02 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 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
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
Php-Redis安装测试笔记
2015/03/05 PHP
PHP学习笔记之session
2018/05/06 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
go和python调用其它程序并得到程序输出
2014/02/10 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
django框架使用方法详解
2019/07/18 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
委托书范本
2014/04/02 职场文书
2014年宣传工作总结
2014/11/18 职场文书
客服专员岗位职责
2015/02/10 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
六年级数学教学反思
2016/02/16 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS