jquery .ajax的.done函数仅在警报时完成

时间:2015-07-30 06:45:08

标签: javascript php jquery html ajax

这看起来有点奇怪,我无法掌握情况,显然我使用jquery的.ajax()函数来处理一些脚本以从数据库中获取一些数据。该脚本工作正常,并相应地返回数据:

$.ajax({
    type: "POST",
    url: "getevaluationdata.php",
    data: { evaluation_ID: value }
})
.done(function( msg ) { 
    $("#error2").html(msg);
});

在脚本处理之后,假设将脚本中回显的数据填充到我提到的div中,但这不会发生。但是,如果我在div填充之前写一个警告声明,则会填充div。意思是:

$.ajax({
    type: "POST",
    url: "getevaluationdata.php",
    data: { evaluation_ID: value }
})
.done(function( msg ) {
    alert(msg);
    $("#error2").html(msg);        
});

我似乎不知道为什么会发生这种情况以及我可以做些什么来解决这个问题。 附:我以前做过这个,这在

之前正常工作

1 个答案:

答案 0 :(得分:1)

有可能#error2还没在页面上吗?所以警报给它时间?尝试将ajax调用放入

$(function(){

    $.ajax({
      type: "POST",
      url: "getevaluationdata.php",
      data: { evaluation_ID: value }
    }).done(function( msg ){
      $("#error2").html(msg);
    });
});

您可以尝试参考的另一件事是使用成功回调

$.post("getevaluationdata.php",{evaluation_ID:value},function(msg){
    $("#error2").html(msg);
});