详解解决使用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 相关文章推荐
document.documentElement && document.documentElement.scrollTop
Dec 01 Javascript
Javascript 去除数组的重复元素
May 04 Javascript
DIY jquery plugin - tabs标签切换实现代码
Dec 11 Javascript
Jquery中获取iframe的代码
Jan 11 Javascript
JavaScript获取当前网页标题(title)的方法
Apr 03 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
Aug 23 Javascript
jQuery Validate验证框架经典大全
Sep 23 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
Aug 19 Javascript
Require.JS中的几种define定义方式示例
Jun 01 Javascript
详解在Vue中有条件地使用CSS类
Sep 30 Javascript
json数据传到前台并解析展示成列表的方法
Aug 06 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 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/01/14 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
php创建sprite
2014/02/11 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
python 连接sqlite及简单操作
2017/06/30 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python3读写ini配置文件的示例
2020/11/06 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
法学毕业生自我鉴定
2013/11/08 职场文书
爱心捐款倡议书
2014/04/14 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
留学推荐信范文
2014/05/10 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
学校师德师风整改措施
2014/10/27 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
Python实现滑雪小游戏
2021/09/25 Python