我有一些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”填充了返回的数据,但是每次连续呼叫警报似乎都会返回警报中的数据。
我是新人,所以这可能是一个愚蠢的问题。这种行为的原因是什么以及如何解决它。
感谢任何帮助
谢谢
答案 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
的回调函数。