我有一个简单的问题。我想迭代所有选中的复选框并解析已检查的json文件。
这是我的问题:$().each
函数是同步的,$.getJSON()
函数是异步的。所以我知道我必须暂停each()
循环的exectuion直到解析JSON文件。我怎么能暂停循环?或解决这个问题的任何其他想法?
非常感谢你。
$("input:checkbox[name=check]:checked").each(function()
{
$.getJSON( $(this).val(), function( data ) {
//Do smth.
//Pause the each loop?
}).error(function(jqXhr, textStatus, error) {
alert("ERROR: " + textStatus + ", " + error);
});
});
alert("foo"); //<-- gets executed before all json files are parsed.
答案 0 :(得分:-3)
如果要使AJAX请求同步,请将async
config传递为false。
$.ajax({
dataType: "json",
url: 'your URL',
async: false,
success: success
});