1

我正在使用$.getJSON()并尝试使用以下各种代码返回数据:

 var changeUserPage = function (id) {
       return repository.getUserPage(id).done(function (data) {            
           // console.log(data)
       })
 }

问题是,虽然在 done 函数中,我可以看到我想要的正确数据,但我无法将它返回给我的调用函数,例如:

 var data = dataContext.changeUserPage(lastPolicyWorkedOn);

data current 持有 promise 对象:

Object {readyState: 1, setRequestHeader: function, getAllResponseHeaders: function, getResponseHeader: function, overrideMimeType: function…}

编辑

getJSON 方法如下所示:

var getUserPage = function (policyId) {
       policyId = encodeURIComponent(policyId);

       var uri = "http://localhost:54997/api/policy/getUserPage/" + policyId;
       return $.getJSON(uri);         
}

如何最好地返回实际的 json 数据?

谢谢

戴维

4

1 回答 1

2

无法changeUserPage返回数据,因为数据是使用async方法获取的$.getJSON

改变

var data = dataContext.changeUserPage(lastPolicyWorkedOn);

dataContext.changeUserPage(lastPolicyWorkedOn).done(function(data){
    //do something with data
});
于 2013-03-11T11:15:03.720 回答