Jquery .ajax's .done函数只在警报时完成

jquery .ajax's .done function get done on alert only

本文关键字:函数 ajax done Jquery      更新时间:2023-09-26

这似乎有点奇怪,我不能得到的情况下,显然我使用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);        
});

我似乎不明白为什么这会发生,我能做些什么来解决这个问题。注:我以前这样做过,在

之前工作正常

有没有可能#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);
});