當通過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