0

我有一个简单的“登录”表单,并且 ajax 正在工作。但是每次我在新选项卡中重新加载页面,并且“登录”页面加载时,我输入用户名和密码,按“登录”按钮,由于某种原因页面只是重新加载,但是当我按下“登录”时在重新加载的页面上按钮,ajax 工作得很好。有谁知道这是什么意思?

这是简单的登录表单:

        <form id="login_form" name="login_form" data-ajax="false">
            <label for="basic">Username:</label>
            <input type="text" name="usr" id="usr" value=""/>
            <label for="basic">Password:</label>
            <input type="password" name="psw" id="psw" value=""/>
            <input type="submit" value="Login" id="login" name="login"/>
            <label><input type="checkbox" name="remember_me" id="remember_me" value="checked_remember"/>Remember me!</label>
        </form>
        <div id="login_message"></div>

这是我的 ajax 脚本:

$(document).ready(function(){
$("#login").click(function(){

username=$("#usr").val();
password=$("#psw").val();
$.ajax({
type: "POST",
url: "http://imes.jzpersonal.com/php/login_check.php",
data: "name="+username+"&pwd="+password,
success: function(html){
if(html=='true')
{
 $("#login_message").html("Logged in, congratulation.");
}
else
{
 $("#login_message").html("Wrong username or password");
}
},
beforeSend:function()
{
$("#login_message").html("Loading...")
}
});
return false;

}); });

我也在使用 POST 方法,但我仍然在地址栏中获得地址,如下所示:

http://imes.**********.com/login_page.php?usr=Jakub&psw=********&login=Login

这是一个 jQueryMobile 的东西吗?

4

1 回答 1

2

这样做的原因是您不能将$(document).ready(function(){与 jQuery Mobile 一起使用。您应该使用:

$(document).on('pageinit'){

});

或者如果你的页面有一个 id 然后像这样使用它:

$('#page_id').on('pageinit'){

});

关于这个问题的更多信息可以在这里找到:http: //jquerymobile.com/test/docs/api/events.html

阅读本文以了解有关此事件和 jQM 页面事件的更多信息:https ://stackoverflow.com/a/14010308/1848600

于 2013-01-22T12:36:43.320 回答