Javascript 检查AJAX响应数据是否为空/空白/空/未定义/0 我所拥有的:

Javascript 检查AJAX响应数据是否为空/空白/空/未定义/0 我所拥有的:,javascript,jquery,ajax,null,Javascript,Jquery,Ajax,Null,我有jqueryajax函数,它在查询数据库后返回HTML。根据查询结果,函数将根据需要返回HTML代码或不返回任何内容(即空白) 我需要的是: 我需要有条件地检查数据是否为空 我的代码: $.ajax({ 类型:“POST”, url:“”, 数据:相关建筑或项目表, 成功:功能(数据){ 如果(!data){ //如果(数据=“未定义”){ //如果(数据==“未定义”){ //如果(数据==null){ //如果(data.length==0){ //如果(data.length!=0){

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

我需要的是: 我需要有条件地检查数据是否为空

我的代码:
$.ajax({
类型:“POST”,
url:“”,
数据:相关建筑或项目表,
成功:功能(数据){
如果(!data){
//如果(数据=“未定义”){
//如果(数据==“未定义”){
//如果(数据==null){
//如果(data.length==0){
//如果(data.length!=0){
//如果(数据===0){
//如果(数据==“0”){
警报(“数据:”+数据);
}
},
错误:函数(错误抛出){
警报(错误抛出);
警报(“AJAX有错误!”);
}               
});
我的问题是: 我尝试了各种条件,但没有一种能正确检查数据。根据我的发现,空白警报消息并不意味着数据无效

  • 空的
  • 不存在
  • 等于零
  • 长度为零的
  • 空的
  • 未定义
  • 如果这些都不是,我如何有条件地检查生成空白警报消息的数据

    //if(data="undefined"){
    
    这是一个赋值语句,不是一个比较。另外,
    “undefined”
    是一个字符串,它是一个属性。检查它是这样的:
    如果(data==undefined)
    (没有引号,否则它是一个字符串值)


    如果未定义,则可能返回空字符串。您可以尝试检查
    falsy
    值,如
    If(!data)
    以及在问题的注释部分提供了以下正确答案:

    这对我起了作用。。 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 );
                                  } 
                   }); 
    
    注意:“SQLSuccess”一词必须从PHP中接收({
    if(data.trim()==''){alert("Nothing Found");}
    
    类型:“POST”, url:“”, 数据:相关建筑或项目表, 成功:功能(数据){ //do console.log(数据); 控制台日志(数据); //你会发现里面的数据到底是什么 //我不喜欢alter(数据);现在,因为它不喜欢 //始终完成需求 //之后,你可以很容易地把条件,如果你不想喜欢 //如果(数据!='') //如果(数据==null) //或者你想要的任何东西 }, 错误:函数(错误抛出){ 警报(错误抛出); 警报(“AJAX有错误!”); } });
    返回JSON并使用标志。
    $.trim
    首先删除字符串以删除空格。
    如果(!$.trim(数据))
    不是调试工具。请正确记录值并检查其值。
    如果(数据==未定义)
    有效。感谢您的解释。按时间顺序选择正确答案。代码很好,但对问题以及如何解决问题的一些解释确实会有帮助。data!=''可能会在空ajax返回时触发,因此注释建议不正确。trim()几乎所有其他帖子建议的函数都是必需的。我建议使用
    console.log();
    而不是
    alert()
    。这是更好的练习。如果你养成了警告错误消息的习惯,有一天你可能会发现自己陷入一个无限循环的警告框中,无法关闭浏览器/程序。这是一个很好的答案。如果我的
    数据
    是一个数组,而我想单独处理空数组的情况,那该怎么办?@tHomas,那么你就可以了t为空数组的情况添加条件这并不能回答问题。询问者明确希望知道如何测试正文中的非响应,而不是发送一些字符串。
    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 );
                                  } 
                   }); 
    
    if(data.trim()==''){alert("Nothing Found");}
    
    $.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!");
        }               
    });