1

したがって、この AJAX 呼び出しを非同期で実行したいのですが、async: false でのみ機能します。

    var url = 'Default.aspx/CheckLogin';
    $.ajax({
        async: true, // works with async: false
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: url,
        data: '{"email":"' + email.val().trim() + '", "password":"' + password.val().trim() + '"}',
        dataType: "json",
        success: function (data) {
            alert("success!");
        },
        error: function (result,something,error) {
            alert("Error: " + error);
        }
    });

編集:

async が true の場合、アラートはすぐに "Error:" で表示されますが、これはエラー メッセージではありません。CheckLogin 関数はかなり遅いので、実際に実行すると時間がかかります。

私が間違っていることについて何か考えはありますか?

編集2:

これは、chrome://net-internals/#events から得た情報です。

    t=1381258516496 [st= 0] +REQUEST_ALIVE  [dt=12]
    t=1381258516497 [st= 1]   +URL_REQUEST_START_JOB  [dt=11]
                       --> load_flags = 142737665 (ENABLE_LOAD_TIMING | MAYBE_USER_GESTURE | REPORT_RAW_HEADERS | VALIDATE_CACHE | VERIFY_EV_CERT)
                       --> method = "POST"
                       --> priority = 2
                       --> upload_id = "0"
                       --> url = "http://localhost:1176/web_new/Default.aspx/CheckLogin"
    t=1381258516497 [st= 1]      HTTP_CACHE_GET_BACKEND  [dt=0]
    t=1381258516497 [st= 1]     +HTTP_STREAM_REQUEST  [dt=11]
    t=1381258516508 [st=12]        CANCELLED
    t=1381258516508 [st=12]     -HTTP_STREAM_REQUEST
    t=1381258516508 [st=12]   -URL_REQUEST_START_JOB
                       --> net_error = -3 (ERR_ABORTED)
    t=1381258516508 [st=12] -REQUEST_ALIVE
4

1 に答える 1