详解解决使用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 入门
Oct 29 Javascript
Jquery 表格合并的问题分享
Sep 17 Javascript
jQuery 删除/替换DOM元素的几种方式
May 20 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 Javascript
babel的使用及安装配置教程
Feb 22 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
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中目录,文件操作详谈
2007/03/19 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
原生js开发的日历插件
2017/02/04 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python文件及目录操作实例详解
2015/06/04 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
基于Python的OCR实现示例
2020/04/03 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
财产公证书样本
2014/04/04 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
公司委托书范本5篇
2014/09/20 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
2015年计划生育责任书
2015/05/08 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技