2
我有一個發送FORMDATA變到另一個站點如下JavaScript文件發送FORMDATA:通過POST跨域
xhr.open("post", "http://host/path/file.php", true);
xhr.send(data);
數據變量正確填充我覈實,這不是問題,因爲有效載荷在我的網絡標籤讀取正確的值,則請求頭具有內容長度> 0:
Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:6021726
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryAj8A2cYqFIFtNwHI
Host:host
Origin:http://host
Referer:http://host/path
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
然而響應頭的Content-Length = 0:
Access-Control-Allow-Origin:*
Content-Length:0
Content-Type:text/html; charset=UTF-8
Date:Thu, 02 Oct 2014 19:34:49 GMT
Server:Microsoft-IIS/8.5
X-Powered-By:PHP/5.6.0
X-Powered-By:ASP.NET
任何幫助將不勝感激,我讀了IE和Windows身份驗證的問題,導致這一點,但我使用的是Chrome和Firefox。對於這兩個網站我都允許匿名和Windows身份驗證(它們都是IIS站點)。任何幫助將不勝感激。
作爲額外的評論,我讀過一些有類似問題的人說,當他們切換到GET,而不是POST它的作品。對我來說情況並非如此,當我通過GET發送數據時,內容長度仍然爲0。 – mgrenier 2014-10-06 13:41:09
我覺得代碼很好,請求包含數據,但它永遠不會到達帶有數據的PHP腳本。在它之間的某個地方它會被丟棄,我認爲它可能與我的IIS服務器有關,但我不知道它爲什麼阻止它或者如何解決問題。 – mgrenier 2014-10-06 14:17:03
新的更新,我能夠從我的POST變量中獲得價值,現在我在過去幾天中玩了很多東西,但我不確定它是什麼,但是我的數據的一部分是通過的。我的文章數組包含3個字符串和一個媒體文件。我正在測試的是一個5MB的視頻,它不會通過。我沒有錯誤,但是當我打印POST數組時,它不是數組的一部分,只接收到一小部分發送的數據(根據收到的「6021739發送的」340的內容長度)請幫忙。 – mgrenier 2014-10-08 13:44:12