JQuery 即使数据未定义也不会重新加载
JQuery doesn't reload even if data is undefined
我有这个功能可以检查 ajax 的登录数据(用户名和密码)是否正确。
如果 php 结果是错误的,那么我打印错误,但如果结果为空,我想重新加载页面。
function(data) {
if (data.length && data != null) {
$("span.error").remove();
$(".login-overlay .login h3").after('<span class="error">' + data + '</span>');
} else {
location.reload();
}
}
问题是,当 php 结果(数据)为空时,代码打印一个空跨度
<span class="error"></span>
我认为错误在 if 子句,但我什么都试过了:
data.length
data.length > 0
data != undefined
data != null
data
感谢您的帮助!
function(data) {
if (data && data.trim()) {
data = data.trim();
$("span.error").remove();
$(".login-overlay .login h3").after('<span class="error">' + data + '</span>');
} else {
location.reload();
}
}
您可能只想检查数据是否已定义。所以这应该有效。否则请显示 data
究竟是什么。您可以通过在函数开始时执行 console.log(data)
来做到这一点
我认为,由于您同时检查了数据和 data.length,因此 IF 语句未通过。您从服务器传递的数据会枯竭,因此可能总会有数据,而 IF 语句将不起作用。如果 DATA 确实是一个字符串,我会尝试以下代码:
function(data) {
if(data.length > 0){
$("span.error").remove();
$(".login-overlay .login h3").after('<span class="error">'+data+'</span>');
} else {
location.reload(); }
}
我有这个功能可以检查 ajax 的登录数据(用户名和密码)是否正确。 如果 php 结果是错误的,那么我打印错误,但如果结果为空,我想重新加载页面。
function(data) {
if (data.length && data != null) {
$("span.error").remove();
$(".login-overlay .login h3").after('<span class="error">' + data + '</span>');
} else {
location.reload();
}
}
问题是,当 php 结果(数据)为空时,代码打印一个空跨度
<span class="error"></span>
我认为错误在 if 子句,但我什么都试过了:
data.length
data.length > 0
data != undefined
data != null
data
感谢您的帮助!
function(data) {
if (data && data.trim()) {
data = data.trim();
$("span.error").remove();
$(".login-overlay .login h3").after('<span class="error">' + data + '</span>');
} else {
location.reload();
}
}
您可能只想检查数据是否已定义。所以这应该有效。否则请显示 data
究竟是什么。您可以通过在函数开始时执行 console.log(data)
来做到这一点
我认为,由于您同时检查了数据和 data.length,因此 IF 语句未通过。您从服务器传递的数据会枯竭,因此可能总会有数据,而 IF 语句将不起作用。如果 DATA 确实是一个字符串,我会尝试以下代码:
function(data) {
if(data.length > 0){
$("span.error").remove();
$(".login-overlay .login h3").after('<span class="error">'+data+'</span>');
} else {
location.reload(); }
}