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+PHP+Mysql实现抽奖程序
Apr 12 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
jQuery length 和 size()区别总结
Apr 26 jQuery
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
详解jQuery设置内容和属性
Apr 11 jQuery
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
jQuery 移除事件的方法
Jun 20 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
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
php 可变函数使用小结
2018/06/12 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
Python操作mongodb的9个步骤
2018/06/04 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python中自带的三个装饰器的实现
2019/11/08 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
德国PC硬件网站:CASEKING
2016/10/20 全球购物
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
太太口服液广告词
2014/03/20 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
体育节口号
2014/06/19 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
Ruby处理YAML和json数据
2022/04/18 Ruby