【发布时间】:2012-01-15 14:33:53
【问题描述】:
我正在使用 html5 允许拖放文件,并使用 mozilla FormData() api 在 multipart/form-data 请求中提交表单数据以及文件(FormData 对象有一个 append() 函数我用它附加值和文件)。我使用 jQuery.ajax() 并将数据设置为我创建的 FormData 对象,并将 processData 标志设置为 false,并将 contentType 设置为 "multipart/form-data" ,使用 beforeSend 处理程序调用 jqXHR.setReqeustHeader("Conetent-Type ", "multipart/form-data") 再次。但是在萤火虫中,我可以看到请求标头仍然具有 Content-Type: text/html 。
似乎 $.ajax() 忽略了我的内容类型规范。有没有其他人成功地使用 jQuery.ajax() 来处理 html5 的 FormData api?
我知道我可以在没有 jquery 帮助的情况下制作自己的 XMLHttpReqeust,而且它也可以。但是我喜欢jquery这样的统一框架。
【问题讨论】:
-
您可以使用 jQuery、IIRC 设置
contentType: 'multipart/form-data'。 -
我做了 contentType: "multipart/form-data" 和调用 jgXHR.setRequestHeader("Content-Type", "multipart/form-data") 的 beforeSend 事件。跨度>
-
我找到了另一个解决问题的帖子。 stackoverflow.com/questions/5392344/…
标签: javascript jquery ajax html fileapi