ajax请求实例源码,jquery ajax 请求小技巧实例分析

本文介绍了如何使用jQuery的$.ajax方法进行AJAX请求,包括设置URL、数据类型、请求类型等参数。同时,文章提出了一个简单的并发控制策略,通过一个全局变量判断是否已有正在进行的请求,以防止同一时刻产生多个请求。在遇到移动端touch事件可能导致的并发问题时,建议可以考虑切换事件类型、增加更复杂的并发控制或调整后端处理逻辑。此外,文章还提及了MySQL的事务处理与触发器在并发控制中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文实例讲述了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的ajax异步请求接收返回json数据实例

跨域请求之jQuery的ajax jsonp的使用解惑

jQuery.ajax 跨域请求webapi设置headers的解决方案

Jquery Ajax请求文件下载操作失败的原因分析及解决办法

浅析jQuery Ajax请求参数和返回数据的处理

教你如何终止JQUERY的$.AJAX请求

JQuery的Ajax跨域请求原理概述及实例

jquery+ajax实现跨域请求的方法

jQuery Ajax请求后台数据并在前台接收

js与jQuery终止正在发送的ajax请求的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值