1

我在 javascript 中创建一个对象:

    var t = null;
            $.getJSON('http://localhost:53227/Home/GetData', function (data) {
                alert(data);
                t = data;
            });
            alert(t);

当我提醒数据时,我会返回一个对象。当我提醒 t 时,它为空。

您能否指导一下,如何为返回的数据设置“t”?

4

1 回答 1

7

这将按预期工作 - 问题不在于t未设置,而是您在执行回调alert(t)之前正在做的事情。getJSON尝试alert(t)后立即做t = data;

换句话说,这是您当前的操作顺序:

  1. 设置 t = null
  2. 调用服务器脚本
  3. alert(t) --> t 仍然为空!
  4. (一段时间后)收到 JSON 响应
  5. 警报数据
  6. 设置 t = 数据

...如您所见,在第 3 步,“t”仍将为空。试试这个:

var t = null;

$.getJSON('http://localhost:53227/Home/GetData', function (data) {
    alert(data);
    t = data;
    alert(t);
});

干杯

于 2012-05-09T17:16:53.920 回答