【发布时间】:2014-07-09 15:33:44
【问题描述】:
我知道在 stackoverflow 中有很多关于此类问题的问题,但这些问题仍然无法帮助我解决我的问题
这是jquery代码
function _get_activities_ajax() {
$(".activity-accordian h3").click(function() {
var catrgory = $(this).attr("data-subject");
var catId = $(this).attr("id");
if($("#"+catId+"-wrap ul").children().length==0) {
$("#"+catId+"-wrap").append("<div class='preloader'></div>");
$.ajax({
url: _getActivityAjax,
data: {catrgory: catrgory},
type: 'POST',
success: function(result) {
$(".preloader").remove();
$("#"+catId+"-wrap").append(result);
},
error: function(e) {
}
});
}
$(".activity-accordian h3").removeClass("active-header").removeClass("header-1");
$(this).addClass("active-header");
$(".categ-content ul").css("display","none");
$("#"+catId+"-wrap ul").css("display","block");
});
}
这是为了获取手风琴的数据集而编写的。
我需要阻止第二次调用,直到第一次调用完成。任何帮助将不胜感激。
谢谢
【问题讨论】:
-
您可以使用一个变量来保存您的通话状态。例如:
var done = false;。在您的success()方法中,您可以说:done = true; -
试试@VDesign的建议..
-
是的! @VDesign 我会建议您将该评论作为答案。和OP请尝试一下。 +1 视觉设计。
-
感谢VDesign!你节省了我的时间!还要感谢 Vedant Terkar、Jai、Praveen 和 Ehsan Sajjad