我正在使用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 编码。
我不确定这是否与多部分/表单数据有关。我该如何调试这个问题?