当通过AJAX提交时,我有一个表单提交给submit_ajax
方法。现在,当我将它作为AJAX请求接收时,我想返回一个JSON对象。使用AJAX与MVC(CodeIgniter)回显响应的正确方法
在这种情况下,我有两个选择。遵循MVC模式,什么会被认为是正确的方式?
选项1 回声它从控制器
class StackOverflow extends CI_Controller
{
public function submit_ajax()
{
$response['status'] = true;
$response['message'] = 'foobar';
echo json_encode($response);
}
}
选项2设置,从所述控制器接收的数据并回它的图。
class StackOverflow extends CI_Controller
{
public function submit_ajax()
{
$response['status'] = true;
$response['message'] = 'foobar';
$data['response'] = $response;
$this->load->view('return_json',$data);
}
}
//return_json view
echo json_encode($response);
我意识到这不是你要求的,但作为一个附注,[Output class](http://codeigniter.com/user_guide/libraries/output.html)提供了一个方便的方法来设置适用于JSON响应的MIME类型:'$ this-> output-> set_content_type('application/json') - > set_output(json_encode(array('foo'=>'bar')));' – 2012-04-25 12:29:16