【发布时间】:2013-04-27 11:17:13
【问题描述】:
我正在使用 jQuery Form 和 Paperclip 将文件从浏览器上传到我的 Rails 应用程序。
没有 jQuery 表单:
params = {...
"pic"=>#<ActionDispatch::Http::UploadedFile:0x007f9af9faf0f0
...}
使用 jQuery 表单:
params = {...
"pic"=>"my_file.png"
...}
我正在使用此代码来启用插件:
$('form').ajaxForm(function(){ alert('done'); });
这是我的表格:
<form action="/users" method="POST" enctype="multipart/form-data">
<input type="file" name="user[avatar]">
</form>
更新
当我需要时,jQuery 表单正在使用Content-Type:application/x-www-form-urlencoded 发送数据
Content-Type:multipart/form-data。我注意到这与 jQuery Form 官方页面相比。
我更改了我的 jQuery 表单代码:
...
contentType: 'multipart/form-data',
success:function(){ alert('done')
...
但内容类型仍然是 url 编码的。
我不确定这是否与多部分/表单数据有关。我该如何调试这个问题?
【问题讨论】:
-
表单是什么样的?是否有 enctype="multipart/form-data"
-
正在更新...使用表单
-
控制台有js错误吗?你能显示完整的参数哈希吗?
-
查看我的更新,我认为编码是我的问题,我不知道如何正确设置。
-
尝试添加 processData: false
标签: jquery ruby-on-rails paperclip jquery-forms-plugin