$ .getJSON with foreach循环遍历所有输入字段

时间:2014-04-26 15:06:22

标签: javascript jquery each

我有一个简单的问题。我想迭代所有选中的复选框并解析已检查的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.

1 个答案:

答案 0 :(得分:-3)

如果要使AJAX请求同步,请将async config传递为false。

$.ajax({
  dataType: "json",
  url: 'your URL',
  async: false,
  success: success
});

Documentation