ajax判断data是否为空,javascript-检查AJAX响应数据是否为空/空白/空/未定义/ 0

这篇博客探讨了如何在JavaScript中有效地检查AJAX响应数据是否为空、空白或未定义。作者分享了已尝试的不同条件,并引用了社区提供的解决方案,如使用`$.trim(data)`来去除空白并进行检查。此外,还提到了将数据转换为字符串并比较为零或空字符串的其他方法。
摘要由CSDN通过智能技术生成

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值