0

次のコードがあります。

$(document).ready(function() {

     console.log("Document ready...");

     $.post("...file.asmx/HelloWorld", function(data) {

          console.log("Post Successful");               
     });            
});

次のコンソール出力が得られます。

[10:01:44.528] Document ready...
[10:01:44.601] POST ..file.asmx/HelloWorld [HTTP/1.1 200 OK 103ms]

私の質問は、2 番目のログ呼び出しが実行されないのはなぜですか? 投稿が成功したようで、関数が実行されるはずです。ファイアフォックスを使用しています。

また:

$(document).ajaxError(function(event, jqxhr, settings, exception) {
      console.log( "Triggered ajaxError handler." );
      console.log(exception);
});

例外をログに記録しようとすると、コンソールに空白行が表示されます。

4

1 に答える 1

2

応答200 OKは、AJAX 呼び出しの成功を保証するものではありません。

クロスオリジン リソース共有ルールによって、リソースへのアクセスが禁止されているか、返されたコンテンツが解析できない可能性があります。

エラー コールバックを追加し、それが呼び出されているかどうか、また、呼び出されている場合はどの引数で呼び出されているかを確認します。

はエラー コールバックを直接サポートしていないため$.post、「遅延」構文を使用できます。

$.post(...).fail(function(jqXHR, textStatus, errorThrown) {
    // log here
});
于 2013-05-29T14:16:54.670 に答える