首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查AJAX响应数据是否为空/未定义/0

问检查AJAX响应数据是否为空/未定义/0
EN

Stack Overflow用户
提问于 2014-05-25 02:03:07
回答 5查看 251.6K关注 0票数 68

我所拥有的:

我有jQuery AJAX函数,在查询数据库后返回HTML。根据查询的结果,函数将返回HTML代码或不返回(即空白)所需的任何内容。

我需要的是:

当数据为空白时,我需要有条件地检查。

我的代码:

代码语言:javascript
复制
$.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!");
    }               
});

我的问题是:

我尝试过各种条件,但没有一个能正确地检查数据。根据我的发现,空白警报消息并不意味着数据是

  1. 空的
  2. 不存在
  3. 等于零
  4. 长度为零
  5. 空
  6. 未定义

如果不是这些,那么我如何有条件地检查产生空白警报消息的数据呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-05-25 13:05:19

Felix Kling在问题的评论部分提供了以下正确答案

代码语言:javascript
复制
if (!$.trim(data)){   
    alert("What follows is blank: " + data);
}
else{   
    alert("What follows is not blank: " + data);
}
票数 105
EN

Stack Overflow用户

发布于 2014-05-25 02:06:59

代码语言:javascript
复制
//if(data="undefined"){

这是一个赋值语句,而不是比较。另外,"undefined"是一个字符串,它是一个属性。检查它如下所示:if (data === undefined) (没有引号,否则是一个字符串值)

如果未定义它,则可能返回一个空字符串。您也可以尝试检查类似于falsy的if (!data)值。

票数 30
EN

Stack Overflow用户

发布于 2015-10-01 07:09:27

代码语言:javascript
复制
if(data.trim()==''){alert("Nothing Found");}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23851337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档