我无法使用jquery ajax连接数据库。
以下是login1.html页面
.bss
表单值通过jquery ajax
传输 <form method='POST'>
<div class="username">
<input type="text" id='name' name="name" class="form-control" placeholder="Enter your username">
<i class="glyphicon glyphicon-user"></i>
</div>
<div class="password">
<input type="password" id='password' name='password' class="form-control" placeholder="Enter your password">
<i class="glyphicon glyphicon-lock"></i>
</div>
<div id="error"></div>
<div class="custom-radio-checkbox">
<input tabindex="1" type="checkbox" class="bluecheckradios">
<label>Remember me</label>
</div>
<script>
$(document).ready(function(){
$('.bluecheckradios').iCheck({
checkboxClass: 'icheckbox_flat-blue',
radioClass: 'iradio_flat-blue',
increaseArea: '20%' // optional
});
});
</script>
<input type="submit" class="btn btn-primary style2" name='submit' id="submit" value="Sign In">
</form>
**这是数据连接页面进程/ login.php **
<script>
$(document).ready(function(){
// jQuery methods go here...
$('#submit').click(function(){
var username = $('#name').val();
var pass = $('#password').val();
var datastring = {username:username,pass:pass};
if($.trim(username).length>0 && $.trim(pass).length>0){
$.ajax({
type: "POST",
url : "process/login.php",
data : datastring,
cache: false,
beforeSend : function(){
$("#submit").val('Connectiing...');
},
success:function(data){
if(data){
window.location.href('http://www.google.com');
}
else{
$('#loginone').shake();
$('#submit').val('Login')
$("#error").html("<span style='color:red'>Error:</span>Invalid Username or Password");
}
}
});
}
return false;
});
});
</script>
如果我传递了正确的凭据,我会收到错误的用户名和密码错误。
答案 0 :(得分:1)
您没有通过ajax发送提交的值,将您的if更改为
if(isset($_POST['username']) && isset($_POST['pass']) ){
或将值添加到ajax:
datastring = {username:username,pass:pass,submit:"true"};
答案 1 :(得分:1)
你得到wrong username and password
因为你的PHP没有在ajax成功中返回任何东西。
这里错了:
您正在ajax请求中发送用户名和密码,但使用submit
输入检查是错误的,因为提交不是ajax数据的一部分。
您还可以在php中检查ajax请求中的内容:
print_r($_POST);
在这里,您可以将问题解决为:
if(count($_POST) > 0) // check $_POST array > 0 or not..
而不是:
if(isset($_POST['submit'])){ // submit not available in $_POST
答案 2 :(得分:0)
您通过Ajax发送到PHP脚本的对象数据没有名为&#34; submit&#34;因此这部分代码将失败
if(isset($_POST['submit'])){
只需删除该if语句,您就可以了......您可以同样检查您的$_POST
超级全局内的数据是否与问题下方评论中建议的devpro
一样,或者只是检查仅包含您在$_POST
变量中发送的字段。