2016-04-05 7 views
0

My Code IgniterPHPページreturnsjson_encodeページが成功データでロードされている場合のクエリ。レコードが見つからないときはjson_encodeを作った。AJAXカスタムエラー処理コードの問題

public function controller_function() 
{ 
    //$query = your get query code 
    $response = array(
     'result' => array(), 
     'error_msg' => '', 
    ); 
    if ($query->num_rows() > 0) 
    { 
     $response['result'] = $query->result(); 
    } 
    else 
    { 
     $response['error_msg'] = 'NO records found'; 
    } 
    echo json_encode($response); 
} 
:しかし、私は、コントローラ

$.ajax({ 
 
    url: <? base_url() ?> +'main/data', 
 
    dataType: "JSON", 
 
    type: "POST", 
 
    success: function(retdata) { //working 
 
    $.each(retdata, function(i) { 
 
      $("#main_div").append('<div>' + retdata[i].name + '<br>' + retdata[i].marks+ '</div>'); 
 

 
    }); 
 
    } 
 
});

+0

:'場合(retdata.hasOwnProperty( 'エラー')){/ * ... * /} ' – blex

答えて

1

jQueryの

jQuery

PHP

if (($query->num_rows() > 0) && ($counter > 0)){    
     echo(json_encode($query->result()));      
     $counter = 0;       
    } else {    
     //return false; 
     $response["error"] = 1; 
     $response["error_msg"] = "NO records found"; 
     echo json_encode($response); 
    }} 

に私の何レコードエラーを渡さない方法を知りません

Javascriptを:あなたのjQuery `SUCCESS`コールバックで

$.ajax({ 
    url: <? base_url() ?> +'main/data', 
    dataType: "JSON", 
    type: "POST", 
    success: function (retdata) 
    { 
     if (retdata.error_msg) 
     { 
      alert(retdata.error_msg); 
     } 
     else 
     { 
      $.each(retdata.result, function (i) 
      { 
       $("#main_div").append('<div>' + retdata.result[i].name + '<br>' + retdata.result[i].marks + '</div>'); 
      }); 
     } 
    } 
})