欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery的ajax请求全面了解

程序员文章站 2022-10-31 16:54:22
jquery中封装了一些ajax请求的方法,很实用。 比如 .ajaxcomplete()——请求完成时 .ajaxerror()——请求失败时 .a...

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>
<p class="trigger">trigger</p>
<p class="result"></p>
<p class="log1"></p>
<p class="log2"></p>
</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()

. 代码如下:


<!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>
<p class="trigger">trigger</p>
<p class="result"></p>
<p class="log1"></p>
<p class="log2"></p>
</body>
</html>


上述代码中还是class为result的加载一个html文件。

执行顺序代码中已经标出

如果请求过程中出现什么错误,比如说文件不存在等,就会执行.ajaxerror()中的方法而不是.ajaxsuccess()中的。

以前总是对ajax认识很乱,现在有个全面的认识,总结一下,希望共同学习,另外请求中的方式是http get还是http post也是值得研究的。