VUE axios发送跨域请求需要注意的问题


Posted in Javascript onJuly 06, 2017

在实际项目中前端使用到vue,后端使用php进行开发。前端使用axios请求请求

关于跨域

跨域的概念这些就不说了,百度一大堆相关的资料信息。我就只在这里记录下我在使用当中遇到的问题,以纪念在逝去的几个小时中资料查找的艰辛。

不多说,直接上代码~~~~

同理,跨域的解决方案为cros。服务器 PHP端代码如下(laravel 中间件进行处理):

public function handle($request, Closure $next)
  {

    if ($request->isMethod('OPTIONS')) {
      $response = response('', 200);
    } else {
      $response = $next($request);
    }
    if (!method_exists($response, 'header')) {
      return $response;
    }
    $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS');
    $response->header(
      'Access-Control-Allow-Headers',
      'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, Token'
    );
    $response->header('Access-Control-Allow-Origin', '*');
    $response->header('Access-Control-Max-Age', 86400);
    return $response;
  }

Vue端 axios 请求:

axios.post('http://XXXX.com',{name:'test'});

这样写,在请求的时候就会遇到:

VUE axios发送跨域请求需要注意的问题

很坑爹有没有?明明是已经设置好了的啊,为毛是这样???

查找了很多资料才发现,axios在发送数据时需要字符串的方式进行发送,也就是说是放在form-data当中的。在实际项目中,为了方便,我引入了 qs 来帮助处理这块数据:

解决后的代码应该是:

import qs from 'qs';
axios.post('http://xxxxx.com',qs.stringify({name:'test'})).then(re=>{
  console.log(re);
});

OK,问题解决。明明感觉很简单,但是就是因为自己不懂,导致找了很久才知道原因,之前一直在折腾后台的设置,忽略了前端本身的处理。

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

Javascript 相关文章推荐
关于jquery.validate1.9.0前台验证的使用介绍
Apr 26 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
Nov 18 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
jQuery scroll事件实现监控滚动条分页示例
Apr 04 Javascript
javascript闭包的理解
Apr 01 Javascript
浅谈javascript中return语句
Jul 15 Javascript
浅谈angular4生命周期钩子
Sep 05 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 Javascript
Vue项目路由刷新的实现代码
Apr 17 Javascript
javascript实现简易聊天室
Jul 12 Javascript
解决layer.confirm快速点击会重复触发事件的问题
Sep 23 Javascript
react使用antd表单赋值,用于修改弹框的操作
Oct 29 Javascript
vue-cli如何添加less 以及sass
Jul 06 #Javascript
微信小程序 跳转传递数据的实例
Jul 06 #Javascript
详解webpack进阶之插件篇
Jul 06 #Javascript
微信小程序 sha1 实现密码加密实例详解
Jul 06 #Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 #Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
Jul 06 #Javascript
AngularJS常见过滤器用法实例总结
Jul 06 #Javascript
You might like
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
python中的__slots__使用示例
2015/02/26 Python
python编程使用协程并发的优缺点
2018/09/20 Python
Flask之请求钩子的实现
2018/12/23 Python
python全栈知识点总结
2019/07/01 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
如何基于python实现归一化处理
2020/01/20 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
情况说明书格式范文
2014/05/06 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Nginx快速入门教程
2021/03/31 Servers
实例详解Python的进程,线程和协程
2022/03/13 Python
海弦WR-800F
2022/04/05 无线电