私はフォームで作業しています。ユーザーがボタンをクリックすると、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"}, ....