0

私は、ユーザー名/パスワード チェックを介して Web アプリケーションに対してユーザーを認証するために使用されている、少し古いコードに取り組んでいます。コードは標準の ASPX ページに含まれており (はい、わかっています)、ページが要求されると、認証の失敗を示すステータス 404 を返すか、問題がなければ ASPX ページにリテラルを入力します。

その標準の JQueryajax呼び出し:

    $("#btnSWSignInPin").click(function () {
    $.ajax({
        url: "/Security/Validate.aspx",
        type: "GET",
        data: "Rnd=" + Math.random() + "&Identifier=" + $(".inpIdentifier").val() + "&Pin=" + $("#inpSWPin").val(),
        success: function () {
            $("#divSessionLogin").jqmHide();
            WarnInFuture();
            DoChecks = true;
        },
        error: function () {
            ShowLogin("The password you entered was incorrect. Please try again.");
        }
    });
    $("#inpSWPin").val("");

    return false;
});

これが呼び出す .NET コードは正常に実行され、VS で問題なく正常にステップ実行できます。Safari、Firefox、IE9 で広範囲にテストしましたが、OSX と Windows では後者を除き、期待どおりに実行されました。ただし、Chrome (最新のビルド) では成功関数が実行されることはありません。javascript は、ブラウザーからステータス 200 以外のものが返されていると考えているようですがFiddler、Response ヘッダーに 200 が確実に表示されます。

この動作を理解し、修正するために確認できることを誰かが提案できますか?

4

2 に答える 2

0

設定

非同期: false

async が true に設定されている場合、Google Chrome では発火の成功に問題があるようです。

于 2012-10-29T06:39:25.230 に答える
0

URL 解析の問題である可能性があると思います。次のようにパラメータを指定してみてください:

data = {
    "key_1": "value_1",
    "key_2": false,
    "key_4": 123
};
于 2012-09-17T12:16:22.350 に答える