2 回答

TA貢獻1786條經(jīng)驗 獲得超13個贊
請求有效載荷-或更準確地說:HTTP請求的有效載荷主體 -是通常由POST或PUT請求發(fā)送的數(shù)據(jù)。它CRLF是HTTP Request的標頭和之后的部分。
與的請求Content-Type: application/json可能如下所示:
POST /some-path HTTP/1.1
Content-Type: application/json
{ "foo" : "bar", "name" : "John" }
如果您按照AJAX提交此文件,則瀏覽器僅向您顯示它作為有效內容正文提交的內容。這就是它能做的所有事情,因為它不知道數(shù)據(jù)來自何處。
如果您使用method="POST"和提交HTML表單,Content-Type: application/x-www-form-urlencoded或者Content-Type: multipart/form-data您的請求可能如下所示:
POST /some-path HTTP/1.1
Content-Type: application/x-www-form-urlencoded
foo=bar&name=John
在這種情況下,表單數(shù)據(jù)是請求有效負載。瀏覽器在這里了解更多:它知道bar是所提交表單的輸入字段foo的值。這就是它向您展示的。
因此,它們的區(qū)別Content-Type在于提交數(shù)據(jù)的方式不同。在兩種情況下,數(shù)據(jù)都在消息正文中。Chrome可以區(qū)分在開發(fā)人員工具中如何將數(shù)據(jù)呈現(xiàn)給您。

TA貢獻1862條經(jīng)驗 獲得超7個贊
在Chrome瀏覽器中,帶有“ Content-Type:application / json”的請求顯示為Request PayedLoad,并以json對象發(fā)送數(shù)據(jù)。
但是帶有“ Content-Type:application / x-www-form-urlencoded”的請求 顯示Form Data并以Key:Value Pair的形式發(fā)送數(shù)據(jù),因此,如果您在一個鍵中包含對象數(shù)組,則它將該鍵的值展平:
{ Id: 1,
name:'john',
phones:[{title:'home',number:111111,...},
{title:'office',number:22222,...}]
}
發(fā)送
{ Id: 1,
name:'john',
phones:[object object]
phones:[object object]
}
添加回答
舉報