jquery中ajax请求小技巧有哪些
这篇文章主要为大家展示了“jquery中ajax请求小技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery中ajax请求小技巧有哪些”这篇文章吧。
具体如下:
jquery 是一个非常好用的js框架,它为我们提供了很多工具。启动异步请求就是很好用的一个工具
官方推荐的ajax 请求格式
$.ajax({
url:"http://xxxxxxxxxxxxxxxxx/",//你的域名
dataType:"json", //对服务器返回的结果进行该数据格式处理 我这里写了json 也可以红xml、text、html 等格式
type:"get', //请求到服务器的方式 我这里是get 也可以用其它形式 如post
beforeSend:function(res){}, //在请求之前会调用这个方法 其中的res 就是XMLHttpRequest 对象
success:function(result){} //服务器返回的数据进行dataTyoe 设置的格式 处理后返回的结果
})
在这其中,$.ajax()
方法中传入的数据是一个json 这不难发现吧。 那我们完全可以这样去调用
var ajaxJson = {
url:"http://xxxxxxxxxxxxxxxxx/",
dataType:"json",
type:"get',
beforeSend:function(res){}, //在请求之前会调用这个方法 其中的res 就是XMLHttpRequest 对象
success:function(result){}
}
$.ajax(ajaxJson); //这样去使用。
如果我们想用户在某一个时刻只进行一个请求,而不会产生多余的请求怎么办呢?
在ajax 前面添加一个判定。
var ajax_oper = {
ajax_status : true, //当前ajax执行状态
ajax_json : function(ajaxJson){
if(!this.ajax_status) return false; // 当这个条件成立的时候,就认为当前有一个正在执行的ajax操作
$.ajax(ajaxJson);
}
}
然后 我们在ajaxJson变量中添加如下配置
var ajaxJson={
url:"http://xxxxxxxxxxxxxxxxx/",
dataType:"json",
type:"get',
beforeSend:function(res){
ajax_oper.ajax_status = false;
},
success:function(result){
ajax_oper.ajax_status = true;
}
}
$.ajax(ajaxJson);
这样就可以在每次请求的时候判定一下 当前是否有正在执行的ajax请求 如果有就返回,不去执行。如果没有就执行。当一个ajax执行完毕后我们将ajax_oper的状态调整回来等待下一次请求的进行更改。
当然在移动web开发当中touch
事件 有点违背原理,我们在测试的时候发现,在同一时间。touch
事件被触发了多次,并且产生了多个ajax请求。更改ajax_status并没有起到作用,分析的方案是 touch事件灵敏到了,连ajax_oper的状态还没更改就已经被触发了多次,也就是在统一时间多个ajax请求都在执行$.ajax
方法。这种解决方案,第一就是更改touch
事件为click事件,第二就是添加多个ajax_oper 状态,层层判定(也有点不保险哈),第三就是更改后台逻辑处理,如在数据库处理的时候添加触发器,每次在更改的时候触发器会先处理一次,然后根据触发器的处理执行相应的处理。 对了,提示一下,在mysql innodb 表 事务处理过程中 也是会触发触发器的。根据结果进行commit 和 rollback。
以上是“jquery中ajax请求小技巧有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341