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

标签 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);        
});

我似乎不明白为什么会发生这种情况以及我能做些什么来解决这个问题。 附:我以前这样做过,并且之前工作正常

最佳答案

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

关于javascript - jquery .ajax .done 函数仅在警报时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31716892/

相关文章:

javascript - Javascript 和 Jquery 中的 array.eq() 与 array[]

javascript - 访问使用 Object.create 创建的 JavaScript 属性的 get/set 方法

javascript - anchor 标记弹出一个 div 而不是一个新页面

javascript - html 选择列表 - 当大小为 10 时显示所选值

Javascript jQuery 在打开页面时隐藏字段

JavaScript 对象检查键——但忽略大小写

javascript - html点击事件的切换功能

php - php 输入的结果是 1 而不是 XML 数据

php - 需要一些解决办法。 jquery 中的点击事件中未调用 Javascript 函数

php - 在浏览器中模拟 cordova 应用程序