热门标签 | 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方法,但这里只是笔记...
推荐阅读
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 深入解析ES6至ES8的新特性与应用
    本文详细介绍了自2015年发布的ECMAScript 6.0(简称ES6)以来,JavaScript语言的多项重要更新,旨在帮助开发者更好地理解和利用这些新特性进行复杂应用的开发。 ... [详细]
  • 在网站制作中随时可用的10个 HTML5 代码片段
    HTML很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单。在这篇文章中,我收集了10个超有用的HTML代码片段,有HTML5启动模板、空白图片、打电话和发短信、自动完 ... [详细]
  • 基于JQuery实现的评分插件
    本文介绍了一个使用JQuery创建的交互式评分控件。当用户将鼠标悬停在星星上时,左侧的星星会变为实心,右侧保持空心,并显示对应的评分等级;移开鼠标后,所有星星恢复为空心状态。 ... [详细]
  • 本文探讨了如何利用jQuery在客户端实现页面跳转,并详细介绍了如何确保页面在浏览器的顶层窗口中打开,而不是局限于当前框架内。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • js中恢复原始值的代码怎么写(js中恢复原始值的代码怎么写) ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • 本文介绍了如何使用JavaScript和jQuery实现页面元素随着滚动条的移动而相应变化位置的功能,提供了一段简洁的代码示例。 ... [详细]
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社区 版权所有