javascript - 函数不会在 .html() jQuery 之后调用

标签 javascript jquery

无法在 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/

相关文章:

javascript - javascript 中的 Value.replace 不允许特定字符

javascript - 我如何从这个 promise 中返回数组?

javascript - IE8 返回 'Object expected' [].slice.call

jquery - 使用 jQuery 获取给定 XML 元素的类型?

jquery - 选择多个缓存元素

javascript - 以下javascript的解释

javascript - 我怎么能覆盖css typeahead js

jQuery 隐藏表格单元格中的子字符串

jQuery 获取输入字段属性的值

java - 如何知道mysql表中数据被更新(即数据删除、修改或插入),从而更新java中的json对象