And*_*rea 7 jquery asynchronous return callback
我有一个javascript函数,它要求一些ajax数据并获取一个JSON对象.然后它应该返回对象.
问题是我不知道如何从Ajax回调中返回函数.当然
myFunction: function() {
$.get(myUrl, function(data) {
return data;
});
}
Run Code Online (Sandbox Code Playgroud)
不起作用,因为内部函数返回而不是外部.
另一方面,在回调中执行我需要的东西会破坏我的MVC细分:这个代码在模型中,我喜欢在控制器中使用结果对象.
一个临时的解决方法是
myFunction: function() {
var result = $.ajax({
url: myUrl,
async: true,
dataType: 'text'
}).responseText;
return eval(result);
}
Run Code Online (Sandbox Code Playgroud)
它的缺点是在等待回复时阻塞浏览器(并使用eval,我宁愿避免).
还有其他解决方案吗?
Jus*_*ier 10
您可以将回调函数传递给函数,以便在数据准备就绪时处理数据:
myFunction: function(callback) {
$.get(myUrl, function(data) {
callback( data );
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8563 次 |
| 最近记录: |