jQuery:On Click Ajax返回数据但在第一次调用时显示为alert

时间:2015-01-19 16:36:18

标签: javascript jquery html ajax

我有一些jquery代码。当点击一个按钮时,它假设向服务器控制器动作发送ajax调用,从那里获取一些数据并将其返回到ID为'note-popover'的'DIV'。

.on('click.notes', '.pd-notes', function (e) {
        e.preventDefault();
        $.post("a_a/pd_notes", function (data) {
            $("#note-popover").html(data);
        });
        alert("Data Returned" + $("#note-popover").html());
    });

我已经在Chrome开发工具中测试了这段代码,在第一次点击时,它会调用服务器,但是警报内容显示为空,即使在DOM中“DIV”填充了返回的数据,但是每次连续呼叫警报似乎都会返回警报中的数据。

我是新人,所以这可能是一个愚蠢的问题。这种行为的原因是什么以及如何解决它。

感谢任何帮助

谢谢

1 个答案:

答案 0 :(得分:0)

数据仅在处理程序

中有效
.on('click.notes', '.pd-notes', function (e) {
        e.preventDefault();
        $.post("a_a/pd_notes", function (data) {
            $("#note-popover").html(data);
            alert("Data Returned" + $("#note-popover").html());
        });
    });

$ .post是异步的并启动操作,在您的示例中立即返回到您的alert

稍后数据将返回到您提供给post的回调函数。