[英]codeigniter get data via ajax and json from db
我有以下问题:
视图:
<script>
function show(id) {
$.ajax({
url: '<?php echo site_url('index.php/controller/show_id'); ?>',
dataType: 'json',
data:({id: id}),
type: "POST",
success: function (data) {
alert( data.user_id);
}
});
}
</script>
控制器:
function show_id(){
$id= $this->input->post('id');
$id_list = $this->id_model->show_id($id);
$data['id'] = $id_list;
if($data['id']){
echo json_encode( $data['id'] );
} else {
echo json_encode( array('error' => true) );
}
}
如果加载页面,则会收到“未定义”的警报。 如果我将JS更改为“ alert(data);” 我收到了sql表的所有内容。
如何更改JS以仅获取“ user.id”列?
请检查类似alert(typeof data);
的数据类型(数据类型alert(typeof data);
if it
是字符串,则需要将响应转换为对象,然后可以将响应转换为对象-
var result = JSON.parse(data);
并且您得到单行或多行????? 如果只有一行,那么在转换对象之后,您必须访问data.user_id
这样的对象(转换为对象之后)-
var userId = result[0]['user_id];
请尝试这个。
由于在数据中找不到索引user_id,您将变得不确定。 您也需要先遍历数组,然后才能获取data.user_id的值,请参见下文。
success: function (data) {
var data = JSON.parse(data);
console.log(data);
for (var x in data){
console.log(data[x].user_id);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.