application/x-www-form-urlencoded
这是默认的post传输方式,用url转码的方法,让数据以key1=val1&key2=val2的方式传输。此方式的数据形式与get方式一样。
multipart/form-data
这个也是常见的方式,最常用于传输图片和其他文件。下面是一段数据事例:
POST http://www.example.com HTTP/1.1 Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA ------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name="text" title ------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name="file"; filename="chrome.png" Content-Type: image/png PNG ... content of chrome.png ... ------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
其中的的“------WebKitFormBoundaryrGKCBY7qhFd3TrwA”是用来分割数据的边界,是浏览器自动生成的随机字符串,传输到后台时会自动识别为边界,不需要作特别处理。此方式对文件有良好的转码,体积比较小。
application/json
Angular中默认以这种方式传输。Jquery的ajax传输时需要把data对象JSON序列化,调用JSON.stringify(data)。一般的后台语言对这种方式都支持,且JSON格式有利于调试工具的查看,推荐使用这种方式。
text/xml
臃肿且不好调试,比较少使用。
推荐阅读文章:四种常见的 POST 提交数据方式
时间: 2024-10-21 08:45:32