0

WebサービスからJSONデータを取得する前に、ユーザーにユーザー名とパスワードを要求するかなり単純なWinJS Metroアプリを入手しました。

jQuery.ajax() を使用してデータを取得し、基本認証ヘッダーを正しく設定しました。ただし、ユーザーが間違った資格情報を入力し、サーバーが 401 を返した場合、metro ランタイムはログイン画面を表示します。jQuery.ajax() 関数に渡されたエラー ハンドラーは、ランタイムが提供するログイン画面でユーザーが「キャンセル」を押さない限り呼び出されません。

失敗したログイン試行をプログラムに処理させたいのですが、実行時のログオン画面を抑制する方法はありますか?

4

1 に答える 1

0

何をしているのかわかりませんが、ユーザーが間違ったユーザー名/パスワードを提供した場合、次のコードはエラーハンドラーを適切にトリガーします:

    var userInfo = getCurrentUserInfo();
    $.ajax({
        url: URL,
        dataType: 'json',
        success: jsonCallback,
        username: userInfo.username,
        password: userInfo.password,
        error: function (jqXHR, textStatus, errorThrown) {
            errorHandler(jqXHR, textStatus, errorThrown);
        }
    }

自分でユーザー名/パスワードを入力していますか、それともシステムのログイン ダイアログが表示されるのを待っていますか? 残念ながら、一度発生すると、ユーザーがキャンセルするまでコードに戻ることはありません。

于 2012-09-12T16:27:30.343 に答える