我有一个来自javascript文件的ajax调用,试图将数据发送到控制器中的特定函数。当我在调用的成功函数中查看数据时,我得到一个完全无关的视图的html作为返回的数据,我不知道为什么。
我的AJAX调用:
function processResults(task_id){
var finalResults = localStorage.getItem('results');
console.log(finalResults);
$.ajax({
type: 'POST',
url: 'task/getResults',
data: {'answers': finalResults},
success: function(data){
console.log(data);
}
});
}
我的控制器功能:
public function getResults(){
$this->load->model('testResults');
$finalResults = $this->input->post('answers');
$finalResults = json_decode($finalResults, true);
if ($taskTestId != '') {
$this->testAnswers->insertTaskData($finalResults);
}
}
ajax调用中的url是否不正确?我不太清楚它为什么输出一个完全无关的视图的html。任何帮助都将不胜感激!
发布于 2015-05-22 19:02:13
在AJAX中传递的最后一行controller/method
应该是某些东西的回声。最后,你会得到这样的东西:
if ($expression) {
echo json_encode($something);
} else {
echo json_encode($something_else);
}
发布于 2015-05-23 01:17:06
Tpojka的回答会有效的。
但是有一种更优雅的方法可以在CI中返回JSON对象
$this->output
->set_content_type('application/json')
->set_output(json_encode(array('foo' => 'bar')));
type
https://stackoverflow.com/questions/30402059
复制相似问题