Headers 部分
![什么是 AJAX?](http://img.jiangsulong.com/220403/155S45Z3-15.jpg)
文章插图
【什么是 AJAX?】
![什么是 AJAX?](http://img.jiangsulong.com/220403/155S45638-16.jpg)
文章插图
接下来是Response Headers和Request Headers,这里说实话我觉得没什么好说的,稍微有些重要的就是请求体Content-Type,为什么说他重要呢?我们往下看 。
![什么是 AJAX?](http://img.jiangsulong.com/220403/155S45V1-17.jpg)
文章插图
接下来一段是Request Payload,Form Data我们比较熟悉,那这个Request Payload又是个什么东西呢?我们知道前端开发中经常会用到AJAX发送异步请求,对于POST类型的请求会附带请求数据 。而常用的传参方式有两种,其一是Form Data,另一个就是Request Payload了 。
那这两者有何区别呢?其实区别主要就是在Content-Type上,这也就是为啥我说他重要的原因 。
Form Data 和 Request Payload 区别
- 如果请求头里设置 Content-Type:Application/x-www-form-urlencoded,那么这个请求被认为是表单请求,参数出现在Form Data里,格式为key=value&key=value&key=value...
- 原生的AJAX请求头里设置 Content-Type:application/json,或者使用默认的请求头 Content-Type:text/plain参,数会显示在Request payload块里提交,参数格式为JSON格式: {"key":"value","key":"value"…},可读性会更好 。
既然XHR这么方便,是不是就没有不足之处呢?当然不是 。XHR 很实用,但并不是一个设计优良的 API,在设计上并不符合职责分离原则,输入、输出以及状态都杂糅在同一对象中,并用事件机制来跟踪状态变化 。并且,基于事件的模型与最近流行的 Promise 和 generator 异步编程模型不太友好 。因此Fetch API横空出世,它旨在修正上述缺陷,它提供了与 HTTP 语义相同的 JS 语法,简单来说,它引入了 fetch()这个实用的方法来获取网络资源 。
当然由于文章篇幅有限,这里仅仅只是引出Fetch API,推荐阅读 http://bubkoo.com/2015/05/08/introduction-to-fetch/ 。
最后其实刚开始只是想简单介绍下 AJAX 的原理,但是后来发现用了班主任让班长找小明这例子之后,AJAX 的原理似乎也就明白了,便想着要不就扩展点吧,以至于整篇文章有将近一半的篇幅在写扩展的知识了 。不过也不算喧宾夺主,毕竟也是 AJAX 衍生出的知识点 。
如果你对本篇文章的内容有所疑问,可以在评论区写下你的观点;如果你觉得本篇文章对你有所帮助,希望可以扫描下方二维码关注公众号「01二进制」 。您的支持是我前进的最大动力!
参考
- 「每日一题」AJAX 是什么?
- Ajax原理一篇就够了
- HTTP请求中的form data和request payload的区别
- Form Data vs Request Payload
- 微信开放文档
- fetch API 简介
- Referrer Policy 介绍
推荐阅读
- 西游记虎力鹿力羊力是哪一集 西游记中虎力羊力鹿力三大仙的原型
- 别人梦见我疯了是什么预兆 梦见别人疯了是什么意思视频
- 快手退货补运费是平台补还是卖家 快手小店退货补运费有什么好处
- 妙处横生的茶联
- 英国茶诗与中文茶诗(
- 毛巾黏黏的 毛巾粘毛是质量不行吗
- 洗衣机出现e10怎么解决 洗衣机出现e10是什么情况
- 什么是继承?继承的方式有几种?它们的优缺点分别是什么?收藏
- 药店灭蝇灯安装要求 灭蝇灯一般放在店里什么位置
- 挂烫机加湿功能有什么用 挂烫机可以用来加湿空气吗