热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

防止ajax重复请求的方法(GET和POST)

防止ajax重复请求的方法(GET和POST),需要的朋友可以参考下。
代码如下:

/*
防止ajax重复请求的GET和POST方法
*/
jQuery.extend({
getx:function(url,data,callback,sender){
var params={url:url,data:null,callback:null,sender:null};
for(var i=1;iif(arguments[i]!=null){
var ptype=typeof(arguments[i]);
if(ptype=="function"){
params.callback=arguments[i];
}
else if(ptype=="string"){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else if(ptype=="object"){
if(arguments[i].tagName || arguments[i].selector){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else{
params.data=arguments[i];
}
}
}
}
params.sender.data("isRequesting",true);
return $.get(params.url,params.data,function(data,status){
params.sender.data("isRequesting",false);
if(data=="unlogin"){
window.top.location.href="/login.aspx";
return;
}
if(params.callback){
params.callback (data,status);
}
});
},
postx:function(){
var params={url:url,data:null,callback:null,sender:null};
for(var i=1;iif(arguments[i]!=null){
var ptype=typeof(arguments[i]);
if(ptype=="function"){
params.callback=arguments[i];
}
else if(ptype=="string"){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else if(ptype=="object"){
if(arguments[i].tagName || arguments[i].selector){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else{
params.data=arguments[i];
}
}
}
}
params.sender.data("isRequesting",true);
return $.post(params.url,params.data,function(data,status){
params.sender.data("isRequesting",false);
if(data=="unlogin"){
window.top.location.href="/login.aspx";
return;
}
if(params.callback){
params.callback (data,status);
}
});
}
})

当然,这里可以抽出共同的一部分,也可以去封装$.ajax方法,但这里只是笔记...
推荐阅读
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
  • 本文介绍了jQuery的基本使用方法及AJAX技术的基础知识,包括选择器、事件处理、DOM操作、动画效果等核心功能,以及如何利用AJAX实现页面的部分刷新。 ... [详细]
  • 本文详细介绍了如何在JavaScript中使用jQuery库进行AJAX异步请求,包括请求的基本配置和处理流程。同时,探讨了阿里巴巴的FastJSON库在JSON数据解析中的应用,并简要介绍了Highcharts图表插件的使用方法。 ... [详细]
  • 开发笔记:异步实时搜索jquery select插件
    开发笔记:异步实时搜索jquery select插件 ... [详细]
  • 精选10款jQuery内联编辑插件
    本文精选了10款优秀的jQuery内联编辑插件,旨在帮助开发者实现页面内容的动态管理和即时编辑,提升用户体验。 ... [详细]
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • 现在的新手程序猿,动不动就是框架,就连外面培训的也是框架,我就问一句,没了框架是不是就啥也不会了 ... [详细]
  • 使用jQuery与百度地图API实现地址转经纬度功能
    本文详细介绍了如何利用jQuery和百度地图API将地址转换为经纬度,包括申请API密钥、页面构建及核心代码实现。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 实现一个具有动画效果的手风琴组件,包括代码示例和实现原理。 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
  • 本文章利用header()函数来实现页面跳,我们介绍到404,302,301等状态跳转哦,下面有很多的状态自定的函数有需要的同学可以测试一下。heade ... [详细]
  • jquery java 文件上传_jQuery文件上传
    插件描述:这是一个文件上传的展示,看很多插件,并不满意就自己写了一个,可能兼容性不是很好,没有准确进行测试过& ... [详细]
  • 解决jQuery Spinner按钮垂直排列问题
    本文探讨了如何通过CSS调整jQuery Spinner组件中的上下按钮,实现它们的垂直堆叠布局。 ... [详细]
author-avatar
AmenTo_AT
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有