POST提交数据方式
application/x-www-form-urlencoded
这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。
当直接提交form表单时,默认就使用此种方式。
multipart/form-data
这又是一个常见的 POST 数据提交的方式。我们使用表单上传文件时,必须让 form 的 enctyped 等于这个值。
上传数据使用,不过多阐述。
application/json
application/json 这个 Content-Type 作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。
JSON 格式支持比键值对复杂得多的结构化数据,这一点也很有用。记得我几年前做一个项目时,需要提交的数据层次非常深,我就是把数据 JSON 序列化之后来提交的。不过当时我是把 JSON 字符串作为 val,仍然放在键值对里,以 x-www-form-urlencoded 方式提交。
当ajax提交且type:'json'时,请求和响应均为此种类型。
当ajax type:'text'时,请求为application/x-www-form-urlencoded,响应为application/json 但响应的数据却是json 格式的 string 如果遍历的话需要转换成json对象
text/xml
它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。
详细文章参考 https://imququ.com/post/four-ways-to-post-data-in-http.html