在ajax()方法jquery中没有收到错误消息

假设:
1)。我的登录表单有两个字段注册,密码一个按钮叫登录(提交)
2)。 我的后端脚本login.php很好没有错误
这是我通过登录表单发送数据并将其与后端进行比较的代码,现在问题是当我提供登录所需的正确密码和注册时,事件成功完成但是当我提供错误的凭据时它没有显示错误消息显示在ajax()错误:function()。虽然消息显示一段时间,当我双击登录按钮,然后页面自动刷新。任何人帮助我在注册错误密码时收到错误消息

$(function(){ /*$('#err').hide();*/ $('.err').hide(); /*$('.error').hide();*/ $('#eno').blur(function(){ var eno = $('input#eno').val(); if(eno == ""){ $('#err_eno').show(); $('input#eno').focus(); return false; }else{ $('#err_eno').hide(); } }); $('#pw').blur(function(){ var pw = $('input#pw').val(); if(pw == ""){ $('#err_pw').show(); $('input#pw').focus(); return false; }else{ $('#err_pw').hide(); } }); $('#submit_btn').click(function(){ var dataString = $('#log').serialize(); //alert (dataString);return false; $.ajax({ type:"POST", url:"script/login.php", data:dataString, success:function(){ window.location='profile.php'; }, error:function(){ $('#err').html("

Provide right combination

"); } }); return false; });

});

那么你的Success函数总是被执行,尝试使用以下实现:

 $.ajax({ type:"POST", url:"script/login.php", data:dataString, success:function(x){ if (x == 1) { window.location='profile.php'; } else { //Handle Error Here $('#err').html("

Provide right combination

"); } } });

的login.php

  

The error function in called when a request fails ,在您的情况下,成功执行ajax函数。 你要做的是将ajax函数的dataType属性设置为json,并将json数组作为服务器的响应传递。 在这里查看更多信息

示例如下:

 $.ajax({ type:"POST", url:"script/login.php", data:dataString, dataType:"json", success:function(data){ if(data.error==true){ $('#err').html("

Provide right combination

"); }else{ window.location='profile.php'; } }, error:function(){ } });

});

你的login.php

 //if success echo json_encode(array('success'=>TRUE)); //else if password failed echo json_encode(array('error'=>TRUE)); 

我希望这是有帮助的。