【问题标题】:using Mozilla FormData with jquery $.ajax call使用带有 jquery $.ajax 调用的 Mozilla FormData
【发布时间】: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


【解决方案1】:

您应该将contentType 设置为false,而不是真正的内容类型。还将processData 设置为falseHere is more details.

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 2014-04-22
    • 2011-03-02
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多