全局变量不会被赋值

时间:2011-02-09 15:53:00

标签: javascript

我无法弄清楚这一点。

我有一个名为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)
}

1 个答案:

答案 0 :(得分:3)

AJAX是异步

success回调会在其余代码后运行一段时间。