datatype
在ajax请求中,datatype参数主要用于指定期望从服务器返回的数据类型。这个参数常见于jquery的ajax方法中。
作用:
1、告诉ajax请求如何解析服务器返回的数据。
2、影响success回调接收的数据格式。如果设置datatype:'json',jquery会自动把响应数据解析成javascript对象,而不是原始字符串,所以无需手动json.parse。
3、帮助jquery设置正确的accept请求头(部分情况下)。比如,datatype:'json'会在请求头中添加 accept:application/json
对比 fetch api / axios
fetch api 没有datatype,而是用.json()、.text()、.blob()方法
fetch('/data').then(response=>response.json()) //类似于 datatype:'json' .then(data=>console,log(data))
axios 会自动基于 content-type解析,但也可以强制指定responsetype
axios.get('/api',{responsetype:'json'}) //类似 datatype
content-type
content-type是http请求和响应中最重要的头部之一,它用于指定请求或响应中传输的数据类型,让服务器或客户端知道如何正确解析数据。
作用:
1、告诉服务器客户端发送的是什么格式的数据
2、告诉客户端服务器返回的是什么格式的数据
3、确保数据能正确解析和处理
//在请求中(客户端 -> 服务器) content-type:'application/json' //表示客户端发送的是json格式的数据 // 在响应中(服务器 -> 客户端) content-type:'text/html;charset=utf-8' //表示服务器返回的是utf-8编码的html文档
常见content-type值:
类型 | 说明 | 典型用途 |
application/json | json字符串 | api 请求/响应 |
application/x-www-form-urlencoded | url编码的表单数据 | html表单提交 |
multipart/form-data | 包含文件上传的表单数据 | 文件上传 |
text/html | html文档 | 网页返回 |
text/plain | 纯文本 | 简单文本数据 |
text/css | css样式表 | 样式文件 |
text/javascript | javascript代码 | js文件 |
image/png | png图片 | 图片文件 |
注意事项:
1、get请求通常不需要设置content-type,因为get请求一般没有请求体。
2、post/put请求必须正确设置content-type,否则服务器可能无法正确解析数据
3、浏览器对某些content-type有安全限制(如跨域请求)
4、字符编码可以附加在content-type中:text/html;charset=utf-8
content-type与accept的区别:
content-type:描述当前发送的数据类型
accept:描述客户端希望接收的数据类型
// 客户端发送表单数据、但希望接口json格式的响应 accept:application/json content-type:application/x-www-form-urlencoded
到此这篇关于jquery ajax中datatype 和 content-type 参数的作用详解的文章就介绍到这了,更多相关datatype 和 content-type 参数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论