【问题标题】:422 Unprocessable Entity in rails422 轨道中无法处理的实体
【发布时间】:2014-12-10 07:56:20
【问题描述】:

我正在尝试在我的 ror 网站中实现上传文件功能。文件通过拖放上传到 div 上

我可以使用

访问文件信息
e.originalEvent.dataTransfer.files[0].name
e.originalEvent.dataTransfer.files[0].size

用于上传文件

upload(e.originalEvent.dataTransfer.files[0]);

function upload(myfile) {
        var fd = new FormData();
        fd.append("name", myfile.name);
        fd.append("fileToUpload", myfile);
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "upload_main_file");
        xhr.send(fd);
}

控制器代码是

  def upload_main_file
    render :text => params[:name]
  end

路线是

post 'upload_material/upload_main_file'

但作为响应,我收到 422 Unprocessable Entity 错误

有什么问题

【问题讨论】:

  • 您能否也将您的路线发布到upload_main_file 操作?
  • 你必须添加'CSRF-Token'。根据您的要求: xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')

标签: ruby-on-rails file-upload xmlhttprequest


【解决方案1】:

upload_main_file 函数的开头添加这一行修复了问题

skip_before_action :verify_authenticity_token

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多