jquery ajax 请求小技巧实例分析


Posted in jQuery onNovember 11, 2019

本文实例讲述了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相关内容可查看本站专题:《jquery中Ajax用法总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery日期范围选择器附源码下载
May 23 jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
jquery+css实现侧边导航栏效果
Jun 12 jQuery
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
jquery实现倒计时小应用
Sep 19 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
jQuery中的for循环var与let的区别
Apr 21 jQuery
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
详解jQuery中的easyui
Sep 02 jQuery
jQuery中DOM常见操作实例小结
Aug 01 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 #jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 #jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 #jQuery
jQuery高级编程之js对象、json与ajax用法实例分析
Nov 01 #jQuery
Javascript和jquery在selenium的使用过程
Oct 31 #jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 #jQuery
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 #jQuery
You might like
第一个无线电台是由谁发明的
2021/03/01 无线电
非常好的php目录导航文件代码
2006/10/09 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
Node.js文件操作详解
2014/08/16 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
让python在hadoop上跑起来
2016/01/27 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
详解python里的命名规范
2018/07/16 Python
Python continue语句实例用法
2020/02/06 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
2014年底工作总结
2014/12/15 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
《学会看病》教学反思
2016/02/17 职场文书
文书工作总结(范文)
2019/07/11 职场文书
sql server 累计求和实现代码
2022/02/28 SQL Server