我在我的web應用程序中使用noswfupload(ajax上傳器),並且它可以在Firefox和IE中正常工作,但它不適用於Google Chrome。我發現一個錯誤,顯示「PHP警告:缺少邊界多部分/形式數據POST數據未知在線0」Ajax上傳Google Chrome的文件錯誤?
誰能告訴我如何解決這個問題?
我在我的web應用程序中使用noswfupload(ajax上傳器),並且它可以在Firefox和IE中正常工作,但它不適用於Google Chrome。我發現一個錯誤,顯示「PHP警告:缺少邊界多部分/形式數據POST數據未知在線0」Ajax上傳Google Chrome的文件錯誤?
誰能告訴我如何解決這個問題?
不知道你的具體上傳,但:
此錯誤是與你的XHR請求標頭設置的方式有問題,而且您的請求數據。有效的語法(從我的鉻調試控制檯),看起來是這樣的:
請求頭:
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這裏:http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html,它提到的邊界語法在標題....
您可以手動更改標題爲在此答案:How to send multipart/form-data form content by ajax (no jquery)?,或者您可以嘗試解決它在更高的水平。
的FORMDATA對象可以模仿那些參數太多,(雖然它不是在所有的瀏覽器實現)... https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData/Using_FormData_Objects
我有一個jquery Ajax調用PHP文件(具有相同的錯誤)問題,通過開水jQuery和使用formData和原始的httpxhrrequest來解決它。
看起來庫存在一個錯誤,它沒有正確格式化請求。那個庫有bug跟蹤器嗎? – tjameson
nop !!我在錯誤日誌文件中發現錯誤。 –
如果它在Google Chrome中不起作用,那麼它可能也不適用於Safari。你有使用這個框架而不是使用[FormData](http://hacks.mozilla.org/2010/05/formdata-interface-coming-to-firefox/)對象的原因嗎? – tjameson