0

ajaxオブジェクトjqxhrを返すsave関数が完了するまでサーバーの遅延をチェックして待つにはどうすればよいですか。他のことをする前に、ajaxリクエストが完了しているかどうかを確認したい.

注:保存機能には成功、完全なエラーなどがあります。jqxhr.statusを使用するとドットが未定義になるように、何かを行う前に完全であることを確認したいと思います。

    $(document).ready(function() { 
        $(function() {
            $("#save").click(function() {

             save().then(function(jqxhr){// check status...


                    alert(" jqxhr status " + jqxhr.status); <--getting undefined first
                    //200 for success
                    var stat = jqxhr.status;
                    //alert(" inside 200 status "+stat);
                    if (stat == 200) {
                        console.log("inside 200");

                        alert(" inside 200 status " + stat); 

                    }
                    if (stat == 400) {
                        console.log("inside 400");
                        alert(" inside 400 status " + stat);

                    } else {

                        alert(" inside 200 status " + stat);
                    }

                });

            });
        });
    });​
4

1 に答える 1

0

save() 関数 (実際には単なる ajax 呼び出しです) は promise を返すため、 then() を使用してコードをチェーンできます。

save().then(function(jqxhr){// check status...});
于 2012-12-03T20:44:51.407 に答える