详解解决使用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 相关文章推荐
jquery中防刷IP流量软件影响统计的一点对策
Jul 10 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
比较新旧两个数组值得增加和删除的JS代码
Oct 30 Javascript
深入理解javascript中return的作用
Dec 30 Javascript
jQuery之选项卡的简单实现
Feb 28 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
May 14 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
Node.Js生成比特币地址代码解析
Apr 21 Javascript
Vue.use源码学习小结
Jun 20 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
Sep 04 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
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查看session内容的函数
2008/08/27 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
python实现删除文件与目录的方法
2014/11/10 Python
使用Python的内建模块collections的教程
2015/04/28 Python
Python实现注册登录系统
2017/08/08 Python
python计算两个地址之间的距离方法
2018/06/09 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
详解python statistics模块及函数用法
2019/10/27 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
python实现人像动漫化的示例代码
2020/05/17 Python
利用python汇总统计多张Excel
2020/09/22 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
优秀的自荐信要注意哪些
2014/01/03 职场文书
农村婚礼证婚词
2014/01/10 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
如何使用Tkinter进行窗口的管理与设置
2021/06/30 Python
mysql的数据压缩性能对比详情
2021/11/07 MySQL