Arl*_*ler 2 jquery synchronous
我在下面有这个代码,它应该返回调用的结果.我需要同步这样做,以便我知道一切都很好,但它似乎不起作用.我究竟做错了什么?
/* jQuery library:
* http://code.jquery.com/jquery-1.9.1.min.js
*/
function getJSON(url){
var result;
$.getJSON(url, { async: false, success: function(data) {
result = data;
alert(data); // **Edit**: also undefined
}});
alert(result); // undefined
return result;
}
Run Code Online (Sandbox Code Playgroud)
T.J*_*der 11
getJSON不尊重异步:false
getJSON 有没有async: false选项.你必须使用ajax它.
根据文档,getJSON相当于:
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
Run Code Online (Sandbox Code Playgroud)
...你可以轻松地添加一个async: false选项(现在,预先警告jQuery将放弃支持).
我需要同步这样做才能让我知道一切都很好
你不需要同步做任何事情来"知道一切都很好",完全可能(和正常)异步处理结果(无论是"好"还是错误).
在您对问题的评论中,您写道:
JSONP?这是我正在使用的代码.
JSON-P与JSON不同(getJSON除非您callback=?在URL中有或类似,否则不执行JSON-P ),并且JSON-P 本质上是异步的.与真正的ajax调用via不同XMLHttpRequest,不可能使JSON-P同步.
| 归档时间: |
|
| 查看次数: |
13765 次 |
| 最近记录: |