0

私はフォームで作業しています。ユーザーがボタンをクリックすると、ajax が値を送信し、コントローラーがモデルとクエリ データベースをロードして、1 つまたはいくつかのレジストリを返します。

ただし、戻ると応答が返されますが、where句を実行する代わりにテーブルからすべてのデータを取得しているようです。また、この結果をdivに入れることはできません

--model

function get($where=array()) {
   $q = $this->db->get_where('tbl_name',$where);
   $result = $q->result_array();
   return $result;
}

-- controller

function get_em()
{   
  $key = $this->input->post('key');
  $this->load->model('model');
  $data['result'] = $this->model->get_em( array('id_guy' => $key)) ;
  header('Content-type: text/plain'); 
  echo json_encode($data);
}


--jquery
$(document).ready(function() {

   $('#btn').click(function(){
   var key = $("#key").val();     
   var postData = {
    'key' : key
   };
   $.ajax({
    type: "POST",
    url: "<?php echo base_url()?>index.php/controller/get_em",
    //data: postData , 
    dataType:"json",
    data: postData,
    success: function(response) {
            $.each(response, function(index,item){
              $("#wrapper_succes").append('<div><b>' + index[0] + '</b></div><hr />');
            });
        }
    });
    });
});

いくつかの基準に基づいてデータベースからフィールドを選択した結果をdivに出力する方法は、コントローラーで結果に格納される こと$query->result_array()を理解している ため、phpでは$resultでのみループします...しかし、ajaxでこれを行う方法、resuLTを出力できません。未定義または[Object Object]のものしか取得できず、firebugでデバッグすると、応答が次のようになることがわかります。$data['result'] = $this->model->

{"result":[{"id_guy":"1","name":"joe",....,"last":"last man"}, ....
4

1 に答える 1