我使用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“)再次 . 但是在firebug中,我可以看到请求标头仍然具有Content-Type:text / html .
似乎$ .ajax()忽略了我的内容类型规范 . 有没有其他人成功使用jQuery.ajax()来处理html5的FormData api?
我知道我可以在没有jquery帮助的情况下创建自己的XMLHttpReqeust,它也可以 . 但我喜欢像jquery这样的统一框架 .
1 回答
您应该将
contentType
设置为false
而不是实际内容类型 . 同时将processData
设置为false
. Here is more details .