我有一个使用该FormData
对象上传 over的 Web 应用程序jQuery.ajax()
。到目前为止,一切都很好。数据作为a发送,multipart/form-data
服务器解析,没问题。
但是当我尝试在同一个请求中将其他数据与文件一起发送时,我遇到了字符编码问题。
我的“其他数据”是希伯来语,所以我需要编码为utf-8
.
当我定义 ajax 选项contentType=false
时,谷歌浏览器自动将内容类型请求标头设置为multipart/form-data; boundary=----webkitwhatever
. 但是当我设置 ajax 选项时contentType="multipart/form-data; charset=utf-8"
,谷歌浏览器不会添加边界标头,服务器无法解析请求。但我认为无论如何都是错误的,因为即使我设置了charset=utf-8
,当我在 chrome 的开发工具中的网络选项卡中查看请求时,我仍然看到编码为乱码的数据。
我怎样才能解决这个问题?需要明确的是,我希望能够同时发送带有文件上传和其他数据的 ajax 请求,并且能够将字符集编码设置utf-8
为支持希伯来语。