0

编辑:本可以研究得更好......现在阅读这篇文章:如何从异步调用返回响应?

我有一个返回 JSON 数据的 ajax 请求。当我在提琴手中观看它时,它确实会转到服务并获取 JSON 数据,但是当我尝试为其响应设置一个变量时,该变量是“未定义的”。如果我alert在成功方法中,它会发出警报,但变量仍然未定义。

我尝试将与它有关的情况更改function(data)function(something)...同样的故事。

var returndata
$.ajax({
    type: "GET",
    url: "GetSecurables/",
    data: { etaNumber: etaNumber },
    success: function (data) {
        returndata = data; //undefined
        alert('haaalp');
    }
});

JSON如下

[
  {
    "DelegateSid":null,
    "DisplayName":"Tom",
    "HasDelegation":true,
    "HasEtaManagement":false
  },
  {
    "DelegateSid":null,
    "DisplayName":"Tim",
    "HasDelegation":true,
    "HasEtaManagement":false
  },
  {
    "DelegateSid":null,
    "DisplayName":"Jake",
    "HasDelegation":true,
    "HasEtaManagement":false
  },
  {
    "DelegateSid":null,
    "DisplayName":"Ryan",
    "HasDelegation":true,
    "HasEtaManagement":false
  }
]
4

1 回答 1

1

尝试:

var returndata;

$.ajax({
    type: "GET",
    url: "GetSecurables/",
    data: { etaNumber: etaNumber },
    success: function (data) {
        console.log(data);
        returndata = data; 
        console.log(returndata);
    }
});

如果 2 个输出相同,则可能是您尝试returndata从其范围之外访问,因此是undefined, 或者您在returndataAjax 调用完成之前访问。

于 2013-06-28T20:01:19.937 回答