我正在使用手机差距为我们的移动应用开发一个登录页面。但每当我点击“提交”按钮时,都会显示错误“无法发布/”。为什么会这样?请参阅下面的代码。
的index.html
<body>
<div class="main-info2">
<h3>Sign In</h3>
<div class="in-form">
<form id="login_form" method="post"">
<input type="text" placeholder="Username" required=" " id="email" />
<input type="password" placeholder="Password" required=" " id="password" />
<div class="check-sub">
<input type="submit" value="Login" id="login">
</div>
</form>
</div>
</div>
<div class="copy-right">
<p>Design by <a href="http://w3layouts.com">W3layouts</a></p>
</div>
</div>
<!-- //main -->
</body>
login.js
$(document).ready(function(){
do_login();
});
function do_login() {
$("#login").click(function () {
var email = $('#email').val();
var password = $('#password').val();
var dataString="email="+email+"&password="+password+"&login=";
if($.trim(email).length>0 & $.trim(password).length>0){
$.ajax({
type: 'POST',
url: "http://localhost:1234/cleverpro/login.php",
dataType: 'json',
data: dataString,
crossDomain: true,
cache: false,
beforeSend: function(){ $("#login").html('Connecting...');},
success: function(data){
if(data == "success"){
console.log("hay nako!");
alert("hala");
}else if(data == "failed"){
$("#login").html('Login');
console.log("hastang sayupa");
alert("halajud");
}
}
});
}else{
return false;
console.log("walay sulod uy");
}
});
}
的login.php
<?php
include "db.php";
if(isset($_POST['login'])){
$email=mysql_real_escape_string(htmlspecialchars(trim($_POST['email'])));
$password=mysql_real_escape_string(htmlspecialchars(trim($_POST['password'])));
$login=mysql_num_rows(mysql_query("select * from `user` where `email`='$email' and `password`='$password'"));
if($login!=0){
echo "success";
}else{
echo "failed";
}
}
?>
我不知道我在哪里出错了。请帮帮我。
答案 0 :(得分:1)
首先,最好在点击时使用(&#39;提交&#39;,处理程序)。 (见Whats the difference between onclick and onsubmit?)
当您点击&#34;登录&#34;时,您的javascript代码完成后会发生默认表单发送操作。这意味着表单POST恰好是&#39; action&#39;您的表单未在表单中设置且是&#39; /&#39;默认情况下。
你需要阻止默认行动,有点像这样想
$('#login_form').on('submit', function(e) {
e.preventDefault();
//Your code
});