2013-08-30 49 views
0

我應該在寫代碼的時候寫一些日記,以便讓它工作,有時甚至是一時衝動,我只是在不知道原因的情況下才開始工作。xmlhttprequest頭部定義的含義

出於某種原因,我確實將xmlhttprequest的setRequestHeader從「application/x-www-form-urlencoded; charset = UTF-8」更改爲「application/octet-stream」,但稍後,當嘗試重用時通過POST發送一些變量到PHP的代碼,它沒有工作。經過一段時間的審查後,我確實改變了它,這些變量終於到達了目的地!

那麼,這意味着每一個標題,它如何改變數據交換的方式?

回答

1

application/x-www-form-urlencoded是編碼表單數據(也用於查詢字符串)的標準方式的內容類型。

application/octet-stream是「日期的某些字節,無特定格式」的內容類型(通常用於「我不知道這是什麼」,有時候也是「我不希望瀏覽器知道這是什麼時候「應該使用Content-Disposition來代替)。

頭並不會改變交換數據,它只是通知什麼格式的數據的接收方。

如果PHP被告知該數據的格式,它不知道如何解析然後它不會解析它並填充$_POST和朋友。

+0

我覺得這個澄清了很多。當加載/發送xml瀏覽器決定「看一看」時,我遇到了一些麻煩,所以我手動編碼數據,也許octet-stream是一個可以嘗試的選項。第一個可能是發送表單的通常選擇。謝謝。 – Gustavo

1

x-www-form-urlencoded表示它轉義一些特殊字符,並使整個數據包(表單)一個字符串。 octet-stream我從來沒有見過這種格式,但我的猜測是它的8位數據流。

+0

是的,它接收基本的數據流。 – Gustavo