Javascript Ajax 200成功/失败执行
我对ajax有一个问题,在这方面我是个新手。我遇到的问题是,即使登录失败,ajax仍在运行成功代码块。如何引导代码返回失败状态 我不是要你检查我的代码,只是作为参考。我只需要知道如何告诉我的代码发送除200 for OK以外的任何东西,这样我就可以在屏幕上显示错误 我输入了错误的信息,ajax认为登录发生了,但事实并非如此 AJAX部分Javascript Ajax 200成功/失败执行,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我对ajax有一个问题,在这方面我是个新手。我遇到的问题是,即使登录失败,ajax仍在运行成功代码块。如何引导代码返回失败状态 我不是要你检查我的代码,只是作为参考。我只需要知道如何告诉我的代码发送除200 for OK以外的任何东西,这样我就可以在屏幕上显示错误 我输入了错误的信息,ajax认为登录发生了,但事实并非如此 AJAX部分 jQuery(document).ready(function(){ document.body.style.paddingTop="3px"; $('a[hr
jQuery(document).ready(function(){
document.body.style.paddingTop="3px";
$('a[href^="#fallr-"]').click(function(){
var id = $(this).attr('href').substring(7);
methods[id].apply(this,[this]);
return false;
});
var methods = {
login : function(){
var login = function(){
var username = $(this).children('form').children('input[type="text"]').val();
var password = $(this).children('form').children('input[type="password"]').val();
var remember = $(this).children('form').children('input[name="remember"]').val();
var token = $(this).children('form').children('input[name="token"]').val();
if(username.length < 1 || password.length < 1 || token.length < 1){
alert('Invalid!\nPlease fill all required forms');
console.log(token)
} else {
var data = {
username: username,
password: password,
remember: remember,
token: token,
}
$.ajax({
type: "POST",
url: "login.php",
data: data,
dataType: "text",
success: function(data){
$('#error').append('Success');
// $.fallr.hide();
// window.location.href = "http://www.bettergamerzunited.com/members/";
},
error: function(data) {
$('#error').append('falied');
}
});
}
}
$.fallr.show({
icon : 'secure',
width : '400px',
content : '<h4 class="titles">Login</h4>'
+ '<span id="error"></span>'
+ '<form>'
+ '<input placeholder="Username" name="username" type="text"/'+'>'
+ '<input placeholder="Password" name="password" type="password"/'+'>'
+ '<input type="checkbox" name="remember" type="remember"/'+'> Remember Me'
+ '<?php echo $hidden; ?>'
+ '</form>',
buttons : {
button1 : {text: 'Submit', onclick: login},
button4 : {text: 'Cancel'}
}
});
}
};
});
使用PHP头函数
header('HTTP/1.0 403 Forbidden'); // or whatever status code you want to return.
在使用header函数之前,不能输出任何其他内容。您可以为ajax错误部分添加以下代码。这样,您将了解错误的确切含义,并可以对其进行调试
header('HTTP/1.0 403 Forbidden'); // or whatever status code you want to return.
error:
function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
}
如果它仍然是来自服务器(200)的有效请求,但由于凭据错误而失败,只需像平常一样处理响应,就会出现
返回false
,只需在成功块中处理它
error:
function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
}