0

私はコードを持っています:

$this.ajaxForm({
    beforeSend: function (form) {
        $('input[name *= "XXX"]').each(function (index) {
            $.GetJSON({
                url: "XXX",
                data: {
                    XXX: $(this).val()
                }
                success: function(json) {
                    if (json.error)
                    {
                    }
                }
            });
        }
        anotheraction();
    }
});

前のAjaxが終了するまで(もちろんjson.errorの場合)、スクリプトの次の部分(ループ内または「別のアクション」の前)の実行を停止したいと思います。

編集: ループを中断して (json.error がある場合)、beforeSend で false を返したい

Edit2: 理論的には async:false が役立つはずですが、機能しません。

可能です?

4

2 に答える 2

2

サーバーへの呼び出しが成功するまで操作を遅らせたい場合は、それを成功コールバックに含めるだけです。

$.GetJSON({
    url: "XXX",
    data: {
        XXX: $(this).val()
    }
    success: function(json) {
        anotheraction();
        ...
    }
});
于 2012-10-16T11:23:16.860 に答える
0

はい、returnキーワードを使用するだけで可能です

于 2012-10-16T11:23:38.053 に答える