详解解决使用axios发送json后台接收不到的问题


Posted in Javascript onJune 27, 2018

问题描述

按照axios官网例子发起请求传递json,后台接受到的数据为空,一直卡在options阶段。

尝试的方法

开始以为是接口有问题,使用postman测试下,一切正常,百思不得其解,看了好多issue也解决不了,加了headers:{'content-type':'application/json'}也没用。

官网上是说,传json就按application/json进行处理,然而并没有卵用;之后套了一层JSON.stringify(data)content-type又变成表单格式了==。

然后翻自己之前的代码,发现写法如出一辙,怀疑是版本号的问题,然而并不是==。。。。考虑到可能和服务端有关系。

原代码如下:

import axios from 'axios';

export default function request(url, params) {
  return axios.post(`xxxxxx/${url}`, params)
    .then((response) => {
      console.log('response', response);
      return response;
    })
    .catch((error) => {
      console.log('error', error);
      return error;
    });
}

最后想想还是用fetch吧(确实用了,发现还是有这个问题,现在深度怀疑是服务端将参数类型卡的太死了,还有polyfill的问题就放弃了,如果有知道的小伙伴请留言告诉我,谢谢),实在不行就ajax(还要封装成promise,哭)。出于对axios的坚持,终于找到了解决方法。

解决方法

就是添加qs库,将json序列化之后传递,详见这个issue。

代码:

import axios from 'axios';
import qs from 'qs';

export default function request(url, params) {
  return axios.post(`https://xxxxxxxx/${url}`, qs.stringify(params))
    .then((response) => {
      console.log('response', response);
      return response;
    })
    .catch((error) => {
      console.log('error', error);
      return error;
    });
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
javascript 闭包详解
Jul 02 Javascript
Node.js如何自动审核团队的代码
Jul 20 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 Javascript
VUE前端cookie简单操作
Oct 17 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
Dec 27 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
Sep 26 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
Vue中keep-alive的两种应用方式
Jul 15 Javascript
vue添加自定义右键菜单的完整实例
Dec 08 Vue.js
浅谈JSON5解决了JSON的两大痛点
Dec 14 Javascript
vue中v-model的应用及使用详解
Jun 27 #Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 #Javascript
Vue实现todolist删除功能
Jun 26 #Javascript
AngularJS实现动态切换样式的方法分析
Jun 26 #Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
Jun 26 #Javascript
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 #jQuery
在vue中使用公共过滤器filter的方法
Jun 26 #Javascript
You might like
php 错误处理经验分享
2011/10/11 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python语言描述最大连续子序列和
2017/12/05 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
文员个人求职自荐信
2013/09/21 职场文书
经典优秀个人求职自荐信格式
2013/09/25 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
前台接待员岗位职责
2014/01/02 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
主持人开幕词
2015/01/29 职场文书
一个都不能少观后感
2015/06/04 职场文书
活动新闻稿范文
2015/07/17 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
MySQL Router的安装部署
2021/04/24 MySQL
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL