如何只执行一次ajaxStart和ajaxEnd
how can I execute ajaxStart and ajaxEnd just one time
我想在网页提交ajax请求时弹出一个加载gif,但如何将加载功能绑定到每个ajax请求,而不是绑定到所有ajax请求,因为有些请求不需要弹出加载窗口。
$("#genericSearchPage_window input[name=submit]").click(function(e){
$("#genericSearchPage_window input[name=submit]").ajaxStart(function(){
console.log("ajax started~!");
});
$.ajax({
url:"genericSearch.genericSearch.html",
data: $("#genericSearchPage_window #genericSearchForm").serializeJson(),
dataType:"json"
}).done(function(data){
genericSearchProcess(data);
});
});
在这个函数中,如果我们将其更改为$(document).ajaxStart(function(){
console.log("ajax started~!");
});
,ajaxStart函数将不起作用它可以工作,但所有ajax请求都将绑定此函数:/我该怎么处理它
如果您不希望您的启动方法应用于所有请求,那么您可以在请求中使用beforeSend
回调?
$.ajax({
url:"genericSearch.genericSearch.html",
data: $("#genericSearchPage_window #genericSearchForm").serializeJson(),
beforeSend: function(jqXHR, settings) {
console.log("ajax started~!");
},
dataType:"json"
}).done(function(data){
genericSearchProcess(data);
});
或者,查看global
属性,该属性阻止调用ajaxStart等全局方法。
$.ajax({
url:"genericSearch.genericSearch.html",
data: $("#genericSearchPage_window #genericSearchForm").serializeJson(),
global: false,
dataType:"json"
}).done(function(data){
genericSearchProcess(data);
});
相关文章:
- Javascript返回值只在循环中返回一次
- Jquery FadeIn FadeOut 只工作一次
- Javascript html每点击一次就会更改url
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- jQuery滚动功能只工作一次
- 刷新导致我的帖子“;张贴“;再一次
- 引导程序崩溃一次只能看到一个
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- 加载器组件仅加载一次
- 根据Angular.JS上一次的内容禁用选择
- 一次又一次地在新的和相同的选项卡中打开一个url
- 只在宽度以下和宽度以上各准备一次
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- Angularjs:空对象,当只有一次点击时
- 在Angular应用程序中每个帖子投票一次
- 主干模型更改事件只触发一次
- 使用每500ms运行一次的jquery函数是个好主意吗
- For循环在Jquery中只运行一次
- 如何只执行一次ajaxStart和ajaxEnd