javascript-检查AJAX响应数据是否为空/空白/空/未定义/ 0
我有的:
我有jQuery AJAX函数,可在查询数据库后返回HTML。 根据查询结果,该函数将根据需要返回HTML代码或不返回任何内容(即空白)。
我需要的:
我需要有条件地检查数据何时为空。
我的代码:
$.ajax({
type:"POST",
url: "<?php echo admin_url('admin-ajax.php'); ?>",
data: associated_buildsorprojects_form,
success:function(data){
if(!data){
//if(data="undefined"){
//if(data==="undefined"){
//if(data==null){
//if(data.length == 0){
//if ( data.length != 0 ){
//if(data===0){
//if(data==="0"){
alert("Data: " + data);
}
},
error: function(errorThrown){
alert(errorThrown);
alert("There is an error with AJAX!");
}
});
我的问题:
我已经尝试了多种条件,但是都无法正确检查数据。 根据我的发现,空白警报消息并不意味着数据
空的
不存在的
等于零
长度为零
空值
未定义
如果这些都不是,那么我该如何有条件地检查产生空白警报消息的数据?
6个解决方案
81 votes
Felix Kling在问题的评论部分提供了以下正确答案:
if (!$.trim(data)){
alert("What follows is blank: " + data);
}
else{
alert("What follows is not blank: " + data);
}
Clarus Dignus answered 2020-01-25T23:23:57Z
26 votes
//if(data="undefined"){
这是一个赋值语句,而不是比较。 另外,falsy是一个字符串,它是一个属性。 检查它是这样的:if (!data)(不带引号,否则为字符串值)
如果未定义,则可能返回一个空字符串。 您也可以尝试检查falsy值,例如if (!data)
Sterling Archer answered 2020-01-25T23:24:22Z
12 votes
if(data.trim()==''){alert("Nothing Found");}
viral m answered 2020-01-25T23:24:38Z
4 votes
这对我有用。page.php上的PHP代码
$query_de="sql statements here";
$sql_de = sqlsrv_query($conn,$query_de);
if ($sql_de)
{
echo "SQLSuccess";
}
exit();
然后AJAX代码出现了波纹
jQuery.ajax({
url : "page.php",
type : "POST",
data : {
buttonsave : 1,
var1 : val1,
var2 : val2,
},
success:function(data)
{
if(jQuery.trim(data) === "SQLSuccess")
{
alert("Se agrego correctamente");
// alert(data);
} else { alert(data);}
},
error: function(error)
{
alert("Error AJAX not working: "+ error );
}
});
注意:必须从PHP接收单词“ SQLSuccess”
Nightmare answered 2020-01-25T23:25:06Z
2 votes
$.ajax({
type:"POST",
url: "<?php echo admin_url('admin-ajax.php'); ?>",
data: associated_buildsorprojects_form,
success:function(data){
// do console.log(data);
console.log(data);
// you'll find that what exactly inside data
// I do not prefer alter(data); now because, it does not
// completes requirement all the time
// After that you can easily put if condition that you do not want like
// if(data != '')
// if(data == null)
// or whatever you want
},
error: function(errorThrown){
alert(errorThrown);
alert("There is an error with AJAX!");
}
});
Asad Ali answered 2020-01-25T23:25:22Z
0 votes
如果您使用响应而不是响应,那么您将从PHP获得所有回声。 希望这可以帮助
user3808307 answered 2020-01-25T23:25:41Z