我正在使用$.getJSON()
并尝试使用以下各种代码返回数据:
var changeUserPage = function (id) {
return repository.getUserPage(id).done(function (data) {
// console.log(data)
})
}
问题是虽然在done函数内部,我可以看到我想要的正确数据,但我无法将其返回给我的调用函数,如:
var data = dataContext.changeUserPage(lastPolicyWorkedOn);
数据当前持有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数据?
由于
戴维
答案 0 :(得分:2)
changeUserPage
无法返回数据,因为数据是使用async
方法$.getJSON
获取的。
更改
var data = dataContext.changeUserPage(lastPolicyWorkedOn);
到
dataContext.changeUserPage(lastPolicyWorkedOn).done(function(data){
//do something with data
});