4

私のコードで行われた最後の ajax 呼び出しを取得したい。

ここに私のコードがあります

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/jquery-1.7.1.min.js"></script>


<script>
    function getCreateAccount() {
        $.ajax({
             type: "GET",
             url: "/Account/Register/",
             contentType: "application/json; charset=utf-8",
             dataType: "json"
         });
        console.log($.ajax.mostRecentCall.args[0]);
    }

</script>

</head>
<body>

</body>
</html>

しかし、コンソールに表示されると、「TypeError: $.ajax.mostRecentCall is undefined」と表示されます。

ありがとう、

4

5 に答える 5

8

ajaxCompleteAJAX 呼び出しが終了するたびに呼び出されるグローバル ハンドラーを登録できます。

$.ajax.calls.mostRecentCall()これにより、Jasmineプロパティのようなものをエミュレートできます。

$(document).ajaxComplete(function(ev, jqXHR, settings) {
    $.ajax.mostRecentCall = jqXHR;
});

この場合jqXHR、渡された正確なパラメータ セットではなく、オブジェクトを保存しています$.ajax

もちろん、これは呼び出された直後には入力されないことに注意してください$.ajax。少なくとも 1 回の呼び出しが終了するまでは入力されません。

于 2013-06-06T08:40:36.467 に答える
3

mostRecentCall関数はJasmineフレームワークのものだと思います。コードに Jasmine を含める必要があります。

mostRecentCallは jquery に存在しません!

于 2013-06-06T08:41:21.043 に答える
0

のようなものは何もありません

$.ajax.mostRecentCall

Jqueryで。それは Jasmine.js からのものです。Jasmine.js への参照を追加し、手順に従って関数をスパイしない限り、エラーが発生します。

Jasmin.jsのドキュメントを参照することをお勧めします。使用方法を示すリンクを次に示します。

于 2013-06-06T08:47:20.647 に答える