我无法使用data
语句比较if
。它总是返回或警告verified
。我认为使用$.trim(data)
可以解决问题,但事实并非如此。我该如何解决呢?
$("document").ready(function () {
$("#login").submit(function () {
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "text",
url: "../login.php", //Relative or absolute path to response.php file
data: data,
success: function (data) {
alert(data); //shows 0 or userid
if ($.trim(data) !== "") {
alert("verified");
//$('.profile-popup-link').trigger('click');
} else if ($.trim(data) == '0') {
alert("not verified");
//$('.invalid-popup-link').trigger('click');
}
}
});
return false;
});
});
答案 0 :(得分:1)
if($.trim(data)!=="")
您说data
始终是用户ID或0.因此if
条件始终为true
- data
永远不会只是一个空字符串。我建议您将if($.trim(data)=='0')
作为第一个条件,如果是true
则返回“未经验证”,并且else
执行您打算对数据执行的任何操作。
答案 1 :(得分:0)
多数民众赞成因为0 !== ""
是真的,只要在你的if中反转$.trim(data)=='0'
和$.trim(data)!==""
。别忘了,if else语句是从上到下执行还是落入他们找到的第一场比赛。
答案 2 :(得分:0)
您不需要使用jQuery $ .trim函数,只需将返回值与0进行比较。
假设数据为0或用户的id,请使用以下成功函数:
success: function (data) {
if (data > 0) {
alert("verified");
//$('.profile-popup-link').trigger('click');
} else {
alert("not verified");
//$('.invalid-popup-link').trigger('click');
}
}
因为它在我的例子中起作用:https://jsfiddle.net/0b28mt61/