嗯,我知道代码的作品,因为我在其他三个页面上使用它,它工作正常,但我已经移动到使我的网站的移动版本。基本上,代码用于实时登录。它序列化用户数据,显示“登录”消息,然后向文件发送ajax请求。该文件的响应内容将替换登录消息,并根据情况发生不同的事情。我直接从一个工作示例中移植了代码,现在,尽管代码有很多更改,但jquery似乎根本没有触发。这里是我的jQuery代码:为什么我的jQuery代码不工作?
function login() {
var dataString = $('#login_form').serialize();
console.log(dataString);
$(".menu_login_form").html("<center>Logging in...</center>");
$.ajax({
type: "POST",
url: "../include/actions/login.php",
data: dataString,
cache: false,
success: function(html){
$(".menu_login_form").html(html);
}
});
return false;
};
$("#login_form").on("submit", login);
这里是我的html代码:
<div class="menu_login_form">
<form id="login_form" method="post">
<input type="text" name="username" placeholder="Username"><br>
<input type="password" name="password" placeholder="Password" style=""><br>
<input type="checkbox" name="remember" checked="checked" style="margin:0;margin-right:10px;margin-top:-2.5px"><span>Remember Me</span><br>
<input type="submit" value="Login..." id="login_form_btn" class="btn">
</form>
</div>
有谁知道什么是错在这里?
编辑:我现在正在工作,我只是把它放在错误的地方 - joeframbach我已经接受你的答案,因为它是唯一的那里。感谢您的所有建议。
使用网络检查器,检查网络选项卡。当你开始表单提交时,它会发出网络请求。检查它是否到达正确的文件位置,并检查从服务器获得的响应。 – Ohgodwhy 2013-03-23 21:44:24
那么发生的事情是ajax请求根本没有发送,表单只是像任何正常的表单一样提交(网络选项卡中没有显示,页面只是刷新)。 – domo270897 2013-03-23 22:07:37
如何进行一些理智检查。在控制台中,运行'$(“#login_form”)'确保存在。运行'$('#login_form')。serialize()'确保它是正常的。 – 2013-03-24 01:41:55