我在这里看了一些帖子,并尝试将数据从api调用传递给codeigniter 3上的控制器,我需要在根页面上显示这些数据,所以我不知道该怎么做!
$.ajax({
url: ' URL ',
dataType: 'json',
type: 'post',
contentType: 'application/json',
data: JSON.stringify( {
"var1": "var1",
"var2": "var2",
"var3": "var3",
"var4": "var4"
} ),
processData: false,
success: function( data ){
$.ajax({
url: window.location.href, <--- this is ok for root page? the controller is App.php and the function its Index()...
dataType: 'json',
type: 'post',
contentType: 'application/json',
data: {"data":data},
processData: false,
success: function( data ){
console.log('pass');
}
});
},
error: function( jqXhr, textStatus, errorThrown ){
console.log( errorThrown );
}
});
然后在我的控制器
中$data['data'] = $this->input->post('data');
$this->load->view('app', $data);
并在视图
中<?=$data?>
但没有,它没有打印任何内容并且没有在控制台中记录任何内容
答案 0 :(得分:0)
首先将所有数据转换为数组,然后使用$data = json_encode($array);
。
要以json格式呈现数据,您必须在$ this-&gt;输出对象中发送内容类型。
$this->output
->set_content_type('application/json')
->set_output(json_encode(array('foo' => 'bar'));
现在控制器中的方法将开始渲染你的json数据。