无法在 html()
运行后运行 GrabOldMessages()
函数。下面是我的代码。使用 jQuery 版本 1.7.2,我认为我正确地回调了它,我是否忽略了什么?请帮我找出我的错误。如果您需要我提供更多信息,请告诉我。感谢您抽出时间来帮助我。
//GRAB NEW MESSAGES
function GrabNewMessages(){
var doIB = encodeURIComponent("GET_DATA");
$.ajax({
type: 'POST', url: 'app/pull_data_files/inbox_NM_array.php', dataType: "json", data: { getInbox: doIB },
success: function(inbox_NM_data) {
if(inbox_NM_data[1] == 'true'){$('#inbox_NMlist_html').html(inbox_NM_data[0], function(){ GrabOldMessages(); });}
else{alert("Didn't work");}
}
});
return false;
}
//GRAB OLD MESSAGES
function GrabOldMessages(){
var doIB = encodeURIComponent("GET_DATA");
$.ajax({
type: 'POST', url: 'app/pull_data_files/inbox_OM_array.php', dataType: "json", data: { getInbox: doIB },
success: function(inbox_OM_data) {
if(inbox_OM_data[1] == 'true'){$('#inbox_OMlist_html').html(inbox_OM_data[0], function(){GoToInbox();});}
else{alert("Didn't work");}
}
});
return false;
}
最佳答案
.html()
method不接受两个参数,它接受一个字符串或一个函数,而不是两者都接受。当它接受一个函数时,它不是一个完成回调。
要在设置 html 后运行函数,只需调用下一行的函数,因此更改:
success: function(inbox_NM_data) {
if(inbox_NM_data[1] == 'true'){
$('#inbox_NMlist_html').html(inbox_NM_data[0], function(){ GrabOldMessages(); });
} else{
alert("Didn't work");}
}
致:
success: function(inbox_NM_data) {
if(inbox_NM_data[1] == 'true'){
$('#inbox_NMlist_html').html(inbox_NM_data[0]);
GrabOldMessages();
} else{
alert("Didn't work");}
}
(在您的 GrabOldMessages()
函数中也类似。)
关于javascript - 函数不会在 .html() jQuery 之后调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944159/