三种常见Content-Type格式,最后一种你肯定用过
文章目录
- 一 参数传输失败元凶:请求头中的Content-Type
- 1.1 application/x-www-form-urlencoded
- 1.2 multipart/form-data
- 1.3 content-type:application/json
- 二 如何从服务端下载文件:响应头中的Content-Type
Content-Type含义为内容类型,请求头和响应头中都有该项,有时我们会遇到明明发送了参数后端却没有拿到的情况,或后端向我们发送了一个图片,获取后却是乱码。
一 参数传输失败元凶:请求头中的Content-Type
请求头中的Content-Type是为告诉服务器我们发送的请求信息是哪种格式的。
不合适的Content-Type可能导致服务端无法正确接收我们的参数。
1.1 application/x-www-form-urlencoded
请求头中的Content-Type默认值为content-type:application/x-www-form-urlencoded,不指定content-type时,默认使用此格式。此时参数格式如下:
key1=value1&key2=value2
这里可以使用qs.js库,qs.parse
方法可以把一段格式化的字符串转换为对象格式,qs.stringify
则和 qs.parse
相反,是把一个参数对象格式化为一个字符串。
字符串转对象格式:
let url = 'http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e';
let data = qs.parse(url.split('?')[1]);
{a: 1, b: 2, c: '', d: xxx, e: ''
}
对象转字符串格式:
let params = { c: 'b', a: 'd' };
qs.stringify(params)// 结果是
'c=b&a=d'
这里通过qs.stringify转化的字符串就可以直接作为参数传给后端了。
1.2 multipart/form-data
application/x-www-form-urlencoded是把数据使用url编码后传送给后端,不适合用于传输大型二进制数据或者包含非ASCII字符的数据,multipart/form-data
就诞生了,专门用于有效的传输文件。
multipart/form-data 既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
使用multipart/form-data时,请求体参数可来自于new FormData()生成的实例,或enctype为multipart/form-data的表单数据。
let data = new FormData()
data.append('file1', file1)
data.append('file2', file2)
this.axios({url: url,headers: {'Content-Type': 'multipart/form-data'},data: data
}).then(()=>{...
})
1.3 content-type:application/json
application/json能够方便传递复杂多层次对象,消息主体是序列化的JSON字符串。
let params = { c: 'b', a: 'd' };
params = JSON.stringify(params)
二 如何从服务端下载文件:响应头中的Content-Type
响应头中的Content-Type决定浏览器将以什么形式、什么编码读取返回数据,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。
响应头中的Content-Type默认为text/plain,但通常需要显式地指定为text/html。
响应头中的Content-Type由服务端调用专用的方法setContentType,进行设置。
三种常见Content-Type格式,最后一种你肯定用过相关推荐
- linux常见的文件系统格式,Linux系统里几种常见的文件系统格式
在天下网吧-网吧系统-网吧天下栏目上一篇文章中,我们看到了:希望对各位网吧网管或者网吧维护,做网吧系统的各位大大有用,那么今天我们一起来看下:Linux系统里几种常见的文件系统格式 在上一篇文章中我们 ...
- 常见的计算机网络教学模式有哪几种,常见的教学方法有哪几种
我们都知道,教学方法包括教师教的方法(教授法)和学生学的方法(学习方法)两大方面,是教授方法与学习方法的统一.教授法必须依据学习法,否则便会因缺乏针对性和可行性,而不能有效地达到预期的目的.下面学习啦 ...
- 转载:JSON技术的调研报告(四种常见的JSON格式对比及分析)
转载自地址:http://www.cnblogs.com/kunpengit/p/4001680.html 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最 ...
- Linux下常见的压缩包格式有5种:zip tar.gz tar.bz2 tar.xz tar.Z
filename.zip的解压: unzip filename.zip filename.tar.gz的解压: tar -zxvf filename.tar.gz z: gzip 压缩格式 ...
- JSON技术的调研报告(四种常见的JSON格式对比及分析)
https://www.cnblogs.com/renmengkai/p/9183775.html
- 一个长方体玻璃容器从里面量长宽_养观赏鱼用玻璃鱼缸吗?3种常见养鱼容器,另外2种养鱼效果不差...
养鱼需要容器,不过我们常见的容器主要还是玻璃缸,长方形的玻璃缸.不过其实从玻璃缸这方面继续延伸下去,还有一些热弯,负压,异形等等的鱼缸款式,这样说起来就比较多了.不过养鱼的容器是仅仅限于玻璃类容器吗? ...
- Media Type 媒体类型(MIME Type、Content Type)
媒体类型用于声明随之而来的数据的格式.又称:MIME类型.MIME Type.Content Type. 是一种用于在异构系统.分布式网络之间声明并传递信息主体格式的方法. 一般的,在文件系统中,我们 ...
- mobi格式电子书_进阶能力 | 了解常见的电子书格式
静读君是初中开始接触电子书的,那个时候以为电子书就是TXT,到后来渐渐地接触到了PDF.DOC.CAJ ······ 才知道原来电子书还分这么多的格式,那个时候还在想,为什么要弄这么多不同的格式呢?那 ...
- 各种常见的word格式符号(回车字符、软回车、分页符等)
一.如何显示编辑符号 1.打开WORD-选项-显示,勾选格式标记 2.如下图所示.在[开始]一[段落]选项卡中,它可以帮助我们识别编辑过程中的格式符号. 二.各种常见的word格式符号 第一种 描述: ...
- MP4怎么转换成MP3格式?两种方法帮你实现
MP4是一种常见的视频格式,而MP3则是一种音频格式.有时候,我们需要将MP4视频转换为MP3音频,例如从YouTube下载视频后只需要提取其中的音频部分.以下是两种方法帮助您实现MP4到MP3的转换 ...
最新文章
- Linux 创建yum源和软件仓库实例
- 对Document library中修改文档的Author之实现修改在list(三)
- Angular-Ui-Router+ocLazyLoad动态加载脚本
- 关于selenium的8种元素定位
- Linux kernel 3.10内核源码分析--TLB相关--TLB概念、flush、TLB lazy模式
- 多线程并发神器--ThreadLocal
- 人月神话阅读笔记(二)
- “虎力全开”采购季,存储产品已就位
- 大事件后台管理系统开发实战(上)
- python sqlite并发处理_python sqlite大数据 处理
- python怎么把excel单元格里面的文字提取出来_干货 | Excel如何花式秀操作?
- pop3通过时间或者条件取邮件_Python 进阶(三):邮件的发送与收取
- go 输入输出流(io)
- Scala: 简介和安装
- 使用Java语言借助Quartz jar包实现定时器的方法
- mysql日志模式默认是raw还是_深入学习MySQL 02 日志系统:bin log,redo log,undo log
- C语言实现推箱子game
- 牛客网华为机试题整理
- 信息熵是怎样炼成的 | 纪念信息论之父香农
- Mysql高阶sql语句