当ajax代码运行一次时,我的Ajax代码不想再次回答。
我的代码:
$.ajax({
type : "POST",
url : "scriptNext.php",
dataType: 'json',
data : {aId: actId},
success : function(retour){
$("#actionAll").fadeOut(function() {
$("#actionAll").html(retour.message1);
$("#actionAll").fadeIn();
});
$("#btnNext").fadeOut(function() {
$("#btnNext").html(retour.message2);
$("#btnNext").fadeIn();
});
},
error: function(xhr, ajaxOptions, thrownError){
alert("Erreur appel page jQuery !");
alert(xhr.status);
alert(thrownError);
}
});
调用Ajax函数的代码:
<DIV ID=actionAll CLASS=result>
butter
</DIV>
<DIV CLASS=item ID=btnNext>
<A HREF=# class=PlusUn actionId=1 attribuid=actionAll >Next
</DIV>
被调用函数(scriptNext.php)第一次返回井数据(糖),但是,在更新HREF项目字段后,不能再次调用 - 没有任何事情发生。
答案 0 :(得分:0)
这是我要采取的方法,
一个。检查ajax调用是否正在进行并在再次调用相同方法之前中止它。
湾为此,请遵循我在下面提供的代码结构
var getDataAjaxCall;//declare this variable
function GetData(){
//check if previous call is still pending and abort it before making a new
//one.
if (getDataAjaxCall&& getDataAjaxCall.readyState != 4)
getDataAjaxCall.abort();
getDataAjaxCall = $.ajax({
type : "POST",
url : "scriptNext.php",
dataType: 'json',
data : {aId: actId},
success : function(retour){
$("#actionAll").fadeOut(function() {
$("#actionAll").html(retour.message1);
$("#actionAll").fadeIn();
});
$("#btnNext").fadeOut(function() {
$("#btnNext").html(retour.message2);
$("#btnNext").fadeIn();
});
},
error: function(xhr, ajaxOptions, thrownError){
if (ajaxOptions!= 'abort') {
alert("Erreur appel page jQuery !");
alert(xhr.status);
alert(thrownError);
}
}
});
}
答案 1 :(得分:0)
它可能不符合ajax的原则,但尝试添加:
async: false
为我工作,但仍然无法理解为什么。