jQuery与Ajax以及序列化(2)

function(XMLHttpRequest,textStatus,errorThrown){ // textStatus为错误信息,errorThrown为捕获的错误对象,通常只有其中一个包含信息 this;//调用本次Ajax请求时传递的options参数 }

•global:默认为true。表示是否触发全局Ajax事件。
•序列化元素 •serialize()方法 •它能够将DOM元素内容序列化为字符串

//不仅可以序列化整个表单,也可以序列化单个元素,并且都是自动编码过的 $.post("myurl",$("#form1").serialize(),function(data,textStatus){ $("#resText").html(data); })

•serializeArray()方法 •它能够将DOM元素内容序列化为JSON格式
•$.param()方法 •这是serialize方法的核心,用来对一个数组或对象按照键值对进行序列化

var obj={a:1,b:2,c:3}; var k=$.param(obj);//输出为a=1&b=2&c=3

•jQuery中的Ajax全局事件 •ajaxStart()方法:当Ajax请求开始就触发
•ajaxStop()方法:当Ajax请求结束就触发

<div>加载中...</div> $("#loading").ajaxStart(function(){ $(this).show();//ajax开始请求就显示加载中 }); $("#loading").ajaxStop(function(){ $(this).hide();//ajax开始结束就隐藏加载中 });

•ajaxComplete():当Ajax请求完成就触发
•ajaxError():当Ajax请求发生就触发,捕捉到的错误可以作为最后一个参数传递
•ajaxSend():当Ajax请求发送前就触发
•ajaxSuccess():当Ajax请求成功就触发
•如果想使某个Ajax请求不受全局事件的影响,可以在$.ajax中将global属性设置为false,这个在前面已经讲过了。当然也可以在ajax请求前:

$.ajaxPrefilter(function(options){//每次发送前请求 options.global=true; })

好吧,写完了。最后顺带提一下,setTimeout("doMethod()",4000);为4s后执行doMethod这个函数。

//一个简单的定时发送功能 function updateMsg(){ $.post("myurl",{time:timestamp},function(xml){ //do something }); setTimeout("updateMsg()",4000); }

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgwwjg.html