【问题标题】:Codeigniter controller detecting ajax file uploadCodeigniter 控制器检测 ajax 文件上传
【发布时间】:2013-02-27 18:13:30
【问题描述】:

我已经设置了我的 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,我喜欢有一个后备选项。我注意到在 cmets 中有人在他们的 ajaxfileupload.js 中设置了 CSFR cookie,但老实说,我对 js 不太感兴趣,所以我不知道从哪里开始。提前致谢。

【问题讨论】:

    标签: ajax codeigniter file-upload


    【解决方案1】:

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

    ajax : 1
    

    然后在你的控制器中:

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

    希望这会有所帮助。

    【讨论】:

    • 啊当然,我想我总是试图把事情复杂化。这应该可以完美运行,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多