当我尝试检查返回的信息是真还是假时,我遇到了问题。在console.log中返回true但总是进入else ...
$.ajax({
url: "ajax.php",
type: 'POST',
data: 'act=login&email=' + email + '&password=' + password + '&remember=' + remember,
success: function(data)
{
console.log(data);
if (data.success === true)
{
$("#login-form")[0].reset();
window.location.replace('dashboard.php');
}
else
{
$(".error-message span").html('Please, insert valid data.');
$('.error-message').fadeIn('slow', function () {
$('.error-message').delay(5000).fadeOut('slow');
});
}
}
});
谢谢大家。
答案 0 :(得分:1)
Console.log打印data
。
您的IF语句检查`data.success'。这些是两个不同的元素。
您从ajax.php发送数据的格式是什么?
您不能假设数据是数组或JSON对象,您必须先解析它。
json = JSON.parse(data);
if (json.success === true) {} //or if (json === true) depends on the response from ajax.php
根据您的评论,如果您返回的数据只是真或假,只需使用
即可if (data == true) {//I use double and not triple equality because I do not know if you are returning a string or a boolean.
}
你有两个问题:
希望这有帮助!
答案 1 :(得分:0)
返回值可能是字符串true
,而不是JavaScript布尔值true
。
因为您使用严格的===
比较,它需要相同的变量类型,所以它总是会失败。
与字符串比较:
if (data.success == "true")
答案 2 :(得分:0)
如果您的数据看起来像{"success": true}
,那么数据解析可能是一个问题,其中ajax处理程序没有将响应解析为json数据..而只是传递一个字符串。
因此,请尝试将dataType
属性设置为json
,以告诉ajax您期望json响应。
$.ajax({
url: "ajax.php",
type: 'POST',
data: 'act=login&email=' + email + '&password=' + password + '&remember=' + remember,
dataType: 'json',
success: function (data) {
console.log(data);
if (data.success === true) {
$("#login-form")[0].reset();
window.location.replace('dashboard.php');
} else {
$(".error-message span").html('Please, insert valid data.');
$('.error-message').fadeIn('slow', function () {
$('.error-message').delay(5000).fadeOut('slow');
});
}
}
});
答案 3 :(得分:0)
你试过吗?
if(data.success =='true'){......}
或者如果它以“Json”格式出现,您需要在“成功”事件中转换为这样的对象。 (包括json.js)
var JSONfoo = JSON.stringify(data); obj = eval('(' + JSONfoo + ')'); if(obj != null){ alert(obj.success );
}
答案 4 :(得分:0)
昨天以构建解决方案json = JSON.parse (data);
的形式工作,但是现在另一个表单在Uncaught SyntaxError: Unexpected token <
json = JSON.parse (data);
)
我不明白在表格上工作的原因而不是另一个表格!
在ajax.php中,我返回echo "true";
谢谢大家