之前写了一篇 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的使用

  1. 为post请求
  2. 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库相关推荐

  1. axios - http请求库

    axios - http请求库 简介 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 使用cdn 使用npm npm install axios 1. ...

  2. qs使用方式+axios|| uni-app + qs及其基础封装

    qs使用方式+axios 背景 技能列表 qs.parse()将 URL 解析成对象的形式 qs.stringify()将对象序列化成 URL 的形式 传递数组的几种方式 带索引的模式(默认模式) 不 ...

  3. axios 跨域_当遇到跨域开发时,我们如何处理好前后端配置和请求库封装

    我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们 ...

  4. CORS 请求未能成功_当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)...

    我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们 ...

  5. vue+axios+qs序列化 “三步解析”【含demo实例】- 代码篇

    文章目录 qs序列化:是什么?为什么?怎么办?`实例截图参考` 一.`(简单了解)` · `三步解析 ` 序列化是一种用来处理对象流的机制: 对象.文件.数据,有许多不同的格式,很难统一传输和保存 序 ...

  6. axios get 某个参数是数组怎么传_Vue 中 Axios 的封装和 API 接口的管理

    我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护. 一.axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios ...

  7. 前端学axios还是ajax,【Web前端问题】axios发送ajax请求问题?

    在程序里借助axios库发送ajax请求,但是失败了,返回这个 然而在同一个位置换成jquery的代码却能成功,代码如下,不知axios哪里写的不对??谢谢~ //axios axios.post(& ...

  8. axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍

    Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...

  9. vue中Axios的封装与API接口的管理详解

    一:axios的封装 vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是promise的http库,可运行在浏览器端和node.js中. 安装 npm install axios ...

最新文章

  1. CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法
  2. 彩色点云在虚拟现实中的应用
  3. pandas使用replace函数移除dataframe数值数据中的逗号并基于处理后的数据生成新的整型数据列(remove comma from column values in Pandas)
  4. 生成tfreocrds
  5. 有效降低传导辐射干扰的小技巧
  6. SpringBoot打包成Docker镜像
  7. android 休眠任务不执行_Springboot Scheduled任务为什么不执行?
  8. MacOS使用ffmpeg报错killed的问题与解决
  9. batchplot插件用法_教大家Batchplot批量打印插件用不了怎么办
  10. 一图看懂对抗神经网络中判别器怎么工作的
  11. VC打印机使用 win95环境的下例子测试
  12. 给Android系统瘦身,安卓优化大师:给系统瘦身
  13. 【数据库查询--电影制片系列】-- 检索出Studio表中制片公司st1的地址。
  14. mysql bad handshark_故障分析 | Bad handshake,升级 5.7.28 引起的“血案”
  15. 在vue中使用marked解析markdown文件
  16. ps和php有什么关系,lr和ps有什么区别
  17. 树莓派3b 重装系统后 启动ssh 和 设定自动连接wifi
  18. Cadence 16.6 Allegro铺铜后去掉贴片元件焊盘之间铜皮的方法
  19. JAVA仿猫眼电影系统(毕业设计)
  20. R语言统计分析|批量单变量Cox回归分析

热门文章

  1. java 发送企业邮箱_java发送企业邮箱
  2. 伯努利贝叶斯分类器的应用
  3. C语言零碎知识点之定义指针时星号靠近类型名还是变量名
  4. 走进GBase 8s之高可用功能(二)HAC灾备高可用
  5. [Error]新用户第一次启动APP时网络请求失败
  6. 计算机教室场地技术条,特殊教育学校功能室建设标准
  7. 高通骁龙665能不能升级鸿蒙系统,骁龙662处理器好吗 骁龙662和骁龙665谁更好
  8. mk突变点检测_气候突变检测
  9. 关于电脑插上耳机后扬声器与耳机同时播放声音。
  10. 关于年终奖的故事,看完想跳槽了