检查ajax返回的json数据是否已设置

时间:2013-10-23 12:03:19

标签: php ajax json

在我的应用程序中,我使用ajax调用从数据库获取数据作为json数组数据。但有时我可能无法根据条件从数据库中获取数据。如何检查ajax返回数组中是否有任何数据。

这是我的代码..

Ajax Call

   $.ajax({ 
        type:'POST',
        url:'user_panel/index',
        data: 'ov_prem_home_id='+home_id,
        dataType: 'json',
        cache: false,
        success: function(dataResponse){
        document.getElementById('ov_prem_title').value=data[0]['title'];
        }
    });

PHP代码

        $home_id=$_POST[home_id];   
        $ov_result=getPremOveriewData($home_id);
        echo json_encode($ov_result);exit;

我尝试了像isset(dataResponse),if(dataResponse=='')这样的条件,但我没有得到任何东西

4 个答案:

答案 0 :(得分:0)

简单的方法:

success: function(dataResponse){
   if(!dataResponse){ 
      // its empty
   }
}

此外,您可以通过在PHP中执行此操作来确保自己更多:

echo (empty($ov_result) ? null : json_encode($ov_result));exit;

如果null为空

,则不会返回任何内容($ov_result

答案 1 :(得分:0)

如果响应为空,则评估为false,因此只需执行if(dataResponse)

即可
$.ajax({
    type:'POST',
    url:'user_panel/index',
    data: 'ov_prem_home_id='+home_id,
    dataType: 'json',
    cache: false,
    success: function(dataResponse){
        if (dataResponse) {
            document.getElementById('ov_prem_title').value=data[0]['title'];
        }
    }
});

答案 2 :(得分:0)

$.ajax({    
    type:'POST',
    url:'user_panel/index',
    data: 'ov_prem_home_id='+home_id,
    dataType: 'json',
    cache: false,
    success: function(dataResponse){
    if(typeof dataResponse != 'undefined' && dataResponse.length > 0 )
      document.getElementById('ov_prem_title').value=data[0]['title'];
    }
});

答案 3 :(得分:0)

如果你想要的是检查来自Javascript端的数据,你可以使用类似的东西:

$.ajax({    
    type:'POST',
    url:'user_panel/index',
    data: 'ov_prem_home_id='+home_id,
    dataType: 'json',
    cache: false,
    success: function(dataResponse){
       if (data && dataResponse.length>0 && dataResponse[0]['title'])
       {
           document.getElementById('ov_prem_title').value=dataResponse[0]['title'];
       }
       else
       {
           //Empty
       }
    }
});