axios 的 qs库
之前写了一篇 vue axios 前端数据传给后端一直 “参数不足”
中的解决方法中就使用了qs库
最近就又又又遇到了,然后一脸懵,找了好久才又想起使用这玩意。
文章目录
- *到底什么时候用qs库
- 1.axios官网中提到的qs库
- 2. content-type和 参数 的关系
- 3. 什么是qs库?
- 4. 在axios中qs的使用
- *为什么ajax的application/json也需要用?
- *但是还有些不解
- 1.为什么vue-resource不需要这个东西?
- *总结:
*到底什么时候用qs库
1.axios官网中提到的qs库
- axios官网
2. content-type和 参数 的关系
- content-type : application/json,要求的参数格式是JSON
{a:c,b:d
}
- content-type :application / x-www-form-urlencoded 要求的参数格式是键值对拼接的方式(具体叫什么我也不清楚):key=value&key=value
a=c&b=d
我一开始是设置了application / x-www-form-urlencoded,但是浏览器发送请求的时候,发现请求头是application/json,人傻了;
查到的解释:
- 浏览器出于自我保护,根据参数的格式自动转化了content-type,
- axios是根据参数的格式设置content-type的
就是需要我们这边把参数的格式给改成对应的数据格式
3. 什么是qs库?
- 概述:将url中的参数转为对象;将对象转为url参数形式;
- 基础用法:
let obj1 = qs.parse('a=c'); // {a:'c'}let obj2 = qs.parse({a:c,b:d}); // a=c&b=d
- vue中使用:在之前的文中写过 vue axios 前端数据传给后端一直 “参数不足”
- 具体用法:中文文档
4. 在axios中qs的使用
- 为post请求
- content-type为application / x-www-form-urlencoded 或者multipart/form-data
*为什么ajax的application/json也需要用?
找到了一个详细演示了,在ajax中, application/json需要用qs库进行转换
而application / x-www-form-urlencoded的参数形式是json,不需要用到qs库:
AXIOS使用APPLICATION/X-WWW-FORM-URLENCODED和APPLICATION/JSON传递参数的两种方式表现形式
*但是还有些不解
1.为什么vue-resource不需要这个东西?
*总结:
感觉写得不明不白的,我还是懂了又没懂,以后继续优化吧~
文章目录
- *到底什么时候用qs库
- 1.axios官网中提到的qs库
- 2. content-type和 参数 的关系
- 3. 什么是qs库?
- 4. 在axios中qs的使用
- *为什么ajax的application/json也需要用?
- *但是还有些不解
- 1.为什么vue-resource不需要这个东西?
- *总结:
axios 的 qs库相关推荐
- axios - http请求库
axios - http请求库 简介 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 使用cdn 使用npm npm install axios 1. ...
- qs使用方式+axios|| uni-app + qs及其基础封装
qs使用方式+axios 背景 技能列表 qs.parse()将 URL 解析成对象的形式 qs.stringify()将对象序列化成 URL 的形式 传递数组的几种方式 带索引的模式(默认模式) 不 ...
- axios 跨域_当遇到跨域开发时,我们如何处理好前后端配置和请求库封装
我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们 ...
- CORS 请求未能成功_当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)...
我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们 ...
- vue+axios+qs序列化 “三步解析”【含demo实例】- 代码篇
文章目录 qs序列化:是什么?为什么?怎么办?`实例截图参考` 一.`(简单了解)` · `三步解析 ` 序列化是一种用来处理对象流的机制: 对象.文件.数据,有许多不同的格式,很难统一传输和保存 序 ...
- axios get 某个参数是数组怎么传_Vue 中 Axios 的封装和 API 接口的管理
我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护. 一.axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios ...
- 前端学axios还是ajax,【Web前端问题】axios发送ajax请求问题?
在程序里借助axios库发送ajax请求,但是失败了,返回这个 然而在同一个位置换成jquery的代码却能成功,代码如下,不知axios哪里写的不对??谢谢~ //axios axios.post(& ...
- axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- vue中Axios的封装与API接口的管理详解
一:axios的封装 vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是promise的http库,可运行在浏览器端和node.js中. 安装 npm install axios ...
最新文章
- CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法
- 彩色点云在虚拟现实中的应用
- pandas使用replace函数移除dataframe数值数据中的逗号并基于处理后的数据生成新的整型数据列(remove comma from column values in Pandas)
- 生成tfreocrds
- 有效降低传导辐射干扰的小技巧
- SpringBoot打包成Docker镜像
- android 休眠任务不执行_Springboot Scheduled任务为什么不执行?
- MacOS使用ffmpeg报错killed的问题与解决
- batchplot插件用法_教大家Batchplot批量打印插件用不了怎么办
- 一图看懂对抗神经网络中判别器怎么工作的
- VC打印机使用 win95环境的下例子测试
- 给Android系统瘦身,安卓优化大师:给系统瘦身
- 【数据库查询--电影制片系列】-- 检索出Studio表中制片公司st1的地址。
- mysql bad handshark_故障分析 | Bad handshake,升级 5.7.28 引起的“血案”
- 在vue中使用marked解析markdown文件
- ps和php有什么关系,lr和ps有什么区别
- 树莓派3b 重装系统后 启动ssh 和 设定自动连接wifi
- Cadence 16.6 Allegro铺铜后去掉贴片元件焊盘之间铜皮的方法
- JAVA仿猫眼电影系统(毕业设计)
- R语言统计分析|批量单变量Cox回归分析