ajax數據提交的4種格式


 ajax POST提交的方式有4種

1. Content-Type: application/x-www-form-urlencoded
2. Content-Type: application/json
3. Content-Type: multipart/form-data 
4. Content-Type: text/plain

1. application/x-www-form-urlencoded

此種方式,

1.1 參數為 name=fa&&age=22, 則chrome中顯示為

Form data
    name: li
    age: 22

1.2 參數為 {name:'fa',age:22}, 則chrome中顯示為

Form data
    {"name":"fa","age":"22"}

jquery默認使用此種方式發送數據,傳入的對象格式的參數也會自動格式化為第一種的字符串格式
axios默認采用application/json, 即使設定Content-Type: application/x-www-form-urlencoded,也不會自動
將傳入的對象格式的參數格式化為字符串,會產生1.2形式的參數發送,需要手動進行格式化。
可以使用 Object.keys(obj).reduce((pre,cur) => pre + '&' + cur + '=' + obj[cur],'').slice(1)
或者使用 URLSearchParams 來處理。

2. Content-Type: application/json

2.1 參數格式 {name:'fa',age:22}, 則chrome中顯示為

Request Payload
    {name: 'fa', age: 22}
        age: 22
        name: 'fa'        

Request Payload是json格式參數在chrome中的顯示方式。

3. Content-Type: multipart/form-data

格式如下:

Content-Type: multipart/form-data; boundary=---------------------------314911788813839

-----------------------------314911788813839
Content-Disposition: form-data; name="foo"

bar
-----------------------------314911788813839
Content-Disposition: form-data; name="baz"

The first line.
The second line.

-----------------------------314911788813839--

FormData格式數據也可以換用Content-Type: multipart/form-data,格式會變成上面的樣子。

4. Content-Type: text/plain

格式如下:

foo=bar
baz=The first line.
The second line.

 

參考:  https://www.cnblogs.com/ChengWuyi/p/7117060.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM