【发布时间】:2011-01-06 02:40:24
【问题描述】:
我有一个 javascript 函数,它要求一些 ajax 数据并返回一个 JSON 对象。然后它应该返回对象。
问题是我不知道如何让函数从 Ajax 回调中返回。当然
myFunction: function() {
$.get(myUrl, function(data) {
return data;
});
}
不起作用,因为返回的是内部函数而不是外部函数。
另一方面,在回调中执行我需要的内容会破坏我的 MVC 细分:这段代码在模型中,我希望在控制器中使用结果对象。
临时解决方法是
myFunction: function() {
var result = $.ajax({
url: myUrl,
async: true,
dataType: 'text'
}).responseText;
return eval(result);
}
它的缺点是在等待回复时阻塞浏览器(并使用 eval,我宁愿避免)。
还有其他解决方案吗?
【问题讨论】:
-
这已经被问了很多很多次了...例如:stackoverflow.com/questions/31129/…
标签: jquery asynchronous callback return