详解解决使用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 相关文章推荐
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
一道JS前端闭包面试题解析
Dec 25 Javascript
js实现文字滚动效果
Mar 03 Javascript
AngularJS实现Input格式化的方法
Nov 07 Javascript
详解vue2路由vue-router配置(懒加载)
Apr 08 Javascript
vue环境搭建简单教程
Nov 07 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 Javascript
js Proxy的原理详解
May 25 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
使用php清除bom示例
2014/03/03 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
深入分析js中的constructor和prototype
2012/04/07 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
vue中关闭eslint的方法分析
2018/08/04 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
Python装饰器用法与知识点小结
2020/03/09 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
时尚休闲吧创业计划书
2014/01/25 职场文书
期中考试后的反思
2014/02/08 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
公司任命书范本
2014/06/04 职场文书
预防煤气中毒方案
2014/06/16 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
购房委托书
2014/10/15 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
学习十八大的感悟
2015/08/11 职场文书
汉语拼音教学反思
2016/02/22 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python
Java 异步任务计算FutureTask
2022/04/28 Java/Android