我的javascript文件中有一个ajax调用,它试图将数据发布到我的控制器中的特定函数。当我在调用的成功函数中查看数据时,我得到一个完全不相关的视图的html作为返回的数据,我不确定为什么。
我的AJAX电话:
$(document).scroll(function(){
if ($(this).scrollTop()>175){
// animate fixed div to small size:
$('.wrapper').stop().animate({ height: 57 , 'padding-top': 20},100);
} else {
// animate fixed div to original size
$('.wrapper').stop().animate({ height: 115, 'padding-top': 0},100);
}
});
我的控制器功能:
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);
}
});
}
ajax调用中的url是否不正确?我不确定为什么输出一个完全不相关的视图的html。任何帮助将不胜感激!
答案 0 :(得分:1)
在AJAX中传递的最后一行controller/method
应该是回声。最后你会得到类似的东西:
if ($expression) {
echo json_encode($something);
} else {
echo json_encode($something_else);
}
答案 1 :(得分:0)
Tpojka的回答将起作用。
但是有一种更优雅的方式来返回带CI的JSON对象
$this->output
->set_content_type('application/json')
->set_output(json_encode(array('foo' => 'bar')));
http://www.codeigniter.com/userguide3/libraries/output.html#CI_Output::set_content_type