我正在尝试使用$ .post将数据发送到Controller并接收返回的数据。我使用project_detail / pub作为我的指定url,并希望从控制器返回$go
。但是,返回的数据是一个html页面,它来自'show'函数而不是'pub'函数。我不知道是怎么回事。请帮忙。非常感谢。
查看页面:Jquery代码
$(document).ready(function(){
$('#update').click(function(){
var tableVal=new Array();
//get the value from table td
$('#projects tr td').each(function (){
tableVal[this.id] = $(this).text();
});
//send data to the controller 'project_detail' and function 'pub' with .post
$.post('project_detail/pub', {'tableVal':tableVal},function(result)
{
alert(result);
})
})
});
控制器代码
class Project_detail extends CI_Controller{
function __construct()
{
parent::__construct();
}
//The url I send to with .post and want to return $go
public function pub()
{
$go='test! test!';
return $go;
}
//for some reasons, `$this->load->view('include/template', $data)` is loaded to the
//result in view page instead of $go
public function show ()
{
$data['view']='project_detail_V';
$this->load->view('include/template', $data);
}
}
答案 0 :(得分:0)
您没有在任何地方输出值。试试这个。
//The url I send to with .post and want to return $go
public function pub()
{
$go='test! test!';
print $go;
}
您还可以使用firebug或类似的检查员查看在请求期间从CI返回的值。
答案 1 :(得分:0)
你可以试试这个
的
的$(document).ready(function(){
$('#update').click(function(){
var tableVal=new Array();
//get the value from table td
$('#projects tr td').each(function (){
tableVal[this.id] = $(this).text();
});
//send data to the controller 'project_detail' and function 'pub' with .post
$.post('project_detail/pub', {'tableVal':tableVal},function(result)
{
alert(result);
},'json');
})
});
的
public function pub()
{
$go='test! test!';
echo json_encode($go);
}