0

小さなログイン画面を作成しようとしています。私はAPIを使用していません。ログイン画面を設定した方法は次のとおりです

  1. ユーザーは VIEW でログイン名とパスワードを入力します。
  2. ユーザーがログイン ボタンをクリックします。
  3. AJAX を介してユーザーの詳細を検証します。
  4. この段階で、詳細が正しければ、ユーザーを次のページに転送します。
  5. 詳細が間違っている場合は、エラー メッセージを入力します。

これが私が得たJQueryコードです。

    $(document).ready(function () {
        var returnType;
        $("#loginButton").click(function () {
            var loginDetails = { 
                loginName: $("#username").val(),
                password: $("#password").val()
            };
            $.ajax({
                url: '@Url.Action("VerifyLoginDetails", "Home")',
                type: 'POST',
                contentType: 'application/json',
                dataType: 'json',
                data: JSON.stringify(loginDetails),
                success: function (data) {
                    if (data.success) {
                        if (data.loginAuthentication == 1) {
                            return true;
                        }

                        if (data.loginAuthentication == -2) {
                            $("#password").attr("style", "display:block;");
                            alert("incorrect password");
                            return false;
                        }

                        if (data.loginAuthentication == -1) {
                            $("#username").attr("style", "display:block;");
                            alert("incorrect un");
                            return false;
                        }

                    }
                }
            });
        });
    });

私の知る限り、true を返すと、コントローラーに呼び出しを送信するべきではありませんが、何らかの理由で送信されます。jQuery を介してコントローラーへの呼び出しを停止する方法について何か提案はありますか?

4

3 に答える 3

3

#loginButtonボタンがクリックされたときに送信されるフォームにある可能性があります。を使用preventDefault()して、この動作を停止できます。

$("#loginButton").click(function (e) {
  e.preventDefault();
  ...
于 2013-04-29T11:13:14.277 に答える
0

私が見る限り、成功関数の戻り値は何もしません。あなたがすべきことは、「return true」がある場所にリダイレクト コードを配置することです。

これを行うには、window.location.href を使用します。

window.location.href = " https://google.com ";

于 2013-04-29T11:34:50.517 に答える