更改网址时脚本无法正常工作

时间:2014-03-26 21:05:32

标签: javascript jquery

我曾经能够使用以下代码登录到URL。如果登录详细信息错误,它会提醒我,并在正确时将我登录。

网址略有改变,现在,我无法登录。我甚至没有收到提示输入错误的警告消息。没有任何事情发生。

工作正常的旧网址: http://softwarehuttest.x10.mx/public/account/login/?id=notmyid&password=notmypassword

没有任何反应的新网址: http://softwarehuttest.x10.mx/public/account/login/?id=notmyid&password=notmypassword&rank=22

Rank总是一个相同的数字(22只是一个例子);因此,我不希望用户必须输入它。我刚刚添加了一个排名输入来测试这是否是问题,但问题仍然存在。

如果我直接输入带有登录详细信息的URL到浏览器,它就可以了。

考虑到代码在网址更改之前工作正常,我不知道出了什么问题。请指教。谢谢。

    <html>

    <script>
    $(document).on("pageinit", "#loginForm", function () {
        $("#form1").on("submit", function (event) {
            event.preventDefault();

            $.ajax({
                type: "GET",
                url: "http://softwarehuttest.x10.mx/public/account/login/",
                data: $("#form1").serialize(),
                success: function (data) {
                    console.log(data);
                    if (data.loggedIn) {
                        $.mobile.changePage("#home");
                    } else {
                        alert("You entered the wrong username or password. Please try again.");
                    }
                }
            });
        });
    });
    </script>

    <div data-role="page" id="loginForm" data-theme="e">
            <!--Start of Log In Page-->
            <header data-role="header">
                 <h1>Log In</h1> 
            </header>

            <!--OLD FORM-->
            <form id="form1" name="form1" method="GET" action="http://softwarehuttest.x10.mx/public/account/login/">
                <label for="id">Username   </label>
                <input type="text" name="id" id="id" />

                <label for="password">Password   </label>
                <input type="password" name="password" id="password" />

                <label for="rank">Rank   </label>
                <input type="rank" name="rank" id="rank" />

                <input type="submit" name="submit" value="Login"/>    
            </form>

            <footer data-role="footer" data-position="fixed">
                <h1></h1>
            </footer>
        </div>
</html>

1 个答案:

答案 0 :(得分:0)

我在JSFiddle上测试了你的代码,它显然有效。我收到了回复:&#34; {&#34; loggedIn&#34;:false}&#34;

如果你想简单地隐藏&#34; Rank输入,您可以使用输入类型HIDDEN而不是TEXT,其值设置为22。

<input type="hidden" name="rank" id="rank" value="22">