Php 谷歌浏览器的Ajax上传文件错误?
我在我的web应用程序中使用noswfupload(ajax上传器),它在Firefox和IE上运行良好,但在googlechrome上不起作用。我发现一个错误,显示“PHP警告:多部分/表单数据中缺少边界发布第0行中未知的数据”Php 谷歌浏览器的Ajax上传文件错误?,php,javascript,Php,Javascript,我在我的web应用程序中使用noswfupload(ajax上传器),它在Firefox和IE上运行良好,但在googlechrome上不起作用。我发现一个错误,显示“PHP警告:多部分/表单数据中缺少边界发布第0行中未知的数据” 有人能告诉我如何解决这个问题吗?不确定您的具体上传程序,但是: 此错误是xhr请求头的设置方式以及请求数据的问题。有效语法(从我的chrome调试控制台)如下所示: 请求标头: Content-Type:multipart/form-data; boundary=--
有人能告诉我如何解决这个问题吗?不确定您的具体上传程序,但是: 此错误是xhr请求头的设置方式以及请求数据的问题。有效语法(从我的chrome调试控制台)如下所示: 请求标头:
Content-Type:multipart/form-data; boundary=----WebKitFormBoundarykEVXyg09HZBMzplL
请求数据:
------WebKitFormBoundarykEVXyg09HZBMzplL
Content-Disposition: form-data; name="foo_bar"
data:image/jpeg;base64,/9j/4AAQSkZJ
[....]
pAkhCD/9k=
------WebKitFormBoundarykEVXyg09HZBMzplL--
您可以在这里看到http rfc:,它在标题中提到了边界语法
您可以手动更改标题,如以下答案所示:,也可以尝试在更高级别上解决它
formData对象也可以模拟这些参数(尽管并非在所有浏览器中都实现)
我在jquery ajax调用php文件时遇到了一个问题(有相同的错误),通过放弃jquery并使用formData和原始HttpXhreQuest解决了这个问题。看起来库有一个错误,它没有正确格式化请求。那个库里有bug追踪器吗?没有!!我在错误日志文件中发现了一个错误。如果它在Google Chrome中不起作用,那么它可能在Safari中也不起作用。您使用这个框架而不是使用对象有什么原因吗?我可以自定义它,并使用它的事件和对象轻松地与我的web应用程序集成,也不需要任何其他框架,如jQuery或mootools。我正在尝试修复它:)