我正在尝试使用codeigniter将AJAX调用方法实现到我的网站中,因此当用户点击按钮时,它会实时更新它们。
单击按钮工作并显示所有JSON数据,但问题是当我尝试显示特定数组时,它不打印出来它显示单个值,例如“h”
我希望能够打印特定的数组,例如包含字符串“Jamie”
的数组任何帮助将不胜感激
控制器
public function insertJSON()
{
$this->load->model("values");
$queryresults = $this->values->getDb();
$arr = array();
$arr2 = array();
foreach($queryresults as $row)
{
$arr[] = $row->post;
$arr2[] = $row->img;
}
$data = array();
$data[] = $arr;
$data[] = $arr2;
echo json_encode($data);
}
查看
<script type='text/javascript' language='javascript'>
$('#getdata').click(function () {
$.ajax({
url: '<?php echo base_url().'index.php/welcome/insertJSON';?>',
async: false,
type: "POST",
success: function(data) {
$('#result_table').html(data[1]);
}
})
});
</script>
变量的Vardump
array(2) {
[0]=>
array(4) {
[0]=>
string(5) "Jamie"
[1]=>
string(4) "Mark"
[2]=>
string(5) "James"
[3]=>
string(5) "hello"
}
[1]=>
array(4) {
[0]=>
string(16) "oliver@hotmail.com"
[1]=>
string(15) "jakie@hotmail.com"
[2]=>
string(15) "mark@hotmail.com"
[3]=>
string(16) "james@hotmail.com"
}
}
答案 0 :(得分:1)
如果您需要display a specific array
,请使用[]
运算符
$('#result_table').html(data[0][0]); //will print Jamie
$('#result_table').html(data[0][3]); //will print hello
$('#result_table').html(data[1][1]); //will print jakie@hotmail.com
答案 1 :(得分:1)
尝试在返回的数据上运行此操作:
data = JSON.parse(data);
所以:
success: function(data) {
data = JSON.parse(data);
$('#result_table').html(data[1]);
}
答案 2 :(得分:0)
一些信息:要正确获取jSON,您应该在输出之前设置输出 TYPE :
$this->output->set_content_type('application/json');
然后像这样设置输出:
$this->output->set_output(json_encode($data));
但是根据你的var dump $ data [1]会显示 Object [] ,所有上述答案都是正确的。 :)