0

私のアプリケーションでは、json配列データとしてajax呼び出しを使用してデータベースからデータを取得しています。ただし、条件に基づいてデータベースからデータを取得できない場合があります。ajax で返された配列にデータがあるかどうかを確認するにはどうすればよいですか。

これが私のコードです..

Ajax 呼び出し:

   $.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

4 に答える 4

0

簡単な方法:

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

また、PHPでこれを行うことで、もう少し安心できます。

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

が空の場合、これは何も返しません ( null)$ov_result

于 2013-10-23T12:05:17.677 に答える
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'];
        }
    }
});
于 2013-10-23T12:06:12.587 に答える
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'];
    }
});
于 2013-10-23T12:06:53.377 に答える
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
       }
    }
});
于 2013-10-23T12:07:06.997 に答える