我无法弄清楚,我有一个由ajax提交的表单,即使表单值不符合要求,ajax代码也总是返回false。 此外,当表单正确时,在表单操作php文件中应该发生的功能也没有发生,因此无论我是否填写必填字段,或者如果我填写对与错,Ajax都将其称为成功, php操作将不起作用{即使格式正确!}
表格:
<form method="POST" onsubmit="return loginSubmit(this)">
<input type="text" name="username" placeholder="username"></br>
<input type="password" name="password" placeholder="password"></br>
<button type="submit" name="submit">login</button>
</form>
功能:
function loginSubmit(element){
var values = $(element).serialize();
$.ajax({
type: 'post',
url: 'assets/login.inc.php',
data: values,
success: function(data){
alert('success');
}
});
return false;
}
表单操作{php}:
这很长,我不希望这篇文章看起来像是一团糟,所以我只是在写我从表单中提取数据的方式,当我不使用ajax提交表单时,php代码就可以正常工作。
$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
答案 0 :(得分:-1)
jQuery success
回调没有实现您认为的那样。如果HTTP调用成功并收到正常的“ OK”响应,则会触发该事件。
您需要在回调中解析data
参数,以确定您的PHP代码返回了什么。
来自jQuery文档中的“ Ajax”方法调用:
如果请求成功,将调用的函数。该函数将传递三个参数:服务器返回的数据,根据
dataType
参数或dataFilter
回调函数(如果已指定)进行格式化;描述状态的字符串;和jqXHR对象(在jQuery 1.4.x中为XMLHttpRequest)。 参考:http://api.jquery.com/jquery.ajax/
答案 1 :(得分:-2)
好吧,我知道了,在php文件中,我检查了表单是否已提交,如果通过槽ajax提交,似乎不正确。谢谢