0

我已经设置了我的 Codeigniter 应用程序,以便我可以通过 Ajax 上传文件。我按照本教程http://net.tutsplus.com/tutorials/javascript-ajax/how-to-upload-files-with-codeigniter-and-ajax/

我的原始表单检查了是否调用了 ajax 请求,如果没有,则显示回退 CI 表单验证/错误消息。

我检查了这个使用 -$this->input->is_ajax_request()

我的代码如下所示:

if($this->input->is_ajax_request()){
   // process ajax form data
} else {
   if($this->form_validation->run() == FALSE) { 
      $data['success'] = 0;
      $data['errors'] = validation_errors();
   } else {
      $data['success'] = 1;
   }
   $this->load->view('form', $data);
}

在做了一些调查之后,我发现我不能应用相同的技术,因为它实际上不是一个 ajax 请求,因此我不确定如何使用这种方法。如果有人能指出我正确的方向,那就太好了。我不喜欢它完全依赖 ajax,我喜欢有一个后备选项。我在评论中注意到有人在他们的 ajaxfileupload.js 中设置了 CSFR cookie,但老实说,我对 js 不太感兴趣,所以我不知道从哪里开始。提前致谢。

4

1 回答 1

1

在您的 AJAX 请求以及您可以发布键/值的所有其他内容中:

ajax : 1

然后在你的控制器中:

if( $this->input->post('ajax') == 1 ) {
  // process ajax form data
}
else
{
  // form validation
}

希望这可以帮助。

于 2013-03-12T09:46:45.037 回答