我无法弄清楚这一点。
我有一个名为id的全局变量。
当我调用下面的函数时,id不会返回msg的值,而是使用底部alert('inside bottom4 (id) =' + id)
。如果我注释掉警报,则id是调用函数之前全局变量的值。
哦顺便说一下,alert('after assignment=' + id);
有正确的返回值。
var id = 0;
savetodb(obj);
alert(id)
function savetodb(lcalEvent) {
var ThingID = parseInt(lcalEvent.userId);
$.ajax({
type: "GET",
url: "res_update.asp",
data: "id=" + lcalEvent.id,
success: function (msg) {
if (msg.indexOf('following') > 0) {
Notices.show('error', msg, { duration: 1000 });
$("#calendar").weekCalendar("refresh");
} else {
if (msg != '0') {
id = msg++;
alert('after assignment=' + id);
}
Notices.show('notice', 'Your reservation has been saved');
}
},
error: function (msg) {
alert("Data Error: " + msg);
}
});
alert('inside bottom4 (id) =' + id)
}
答案 0 :(得分:3)
AJAX是异步。
您success
回调会在其余代码后运行一段时间。