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 相关文章推荐
Js event事件在IE、FF兼容性问题
Jan 01 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
前端jquery部分很精彩
May 03 Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 Javascript
js实现楼层导航功能
Feb 23 Javascript
React Native 环境搭建的教程
Aug 19 Javascript
AngularJS 的$timeout服务示例代码
Sep 21 Javascript
一个简易时钟效果js实现代码
Mar 25 Javascript
使用vue实现grid-layout功能实例代码
Jan 05 Javascript
mpvue小程序仿qq左滑置顶删除组件
Aug 03 Javascript
javascript判断一个变量是数组还是对象
Apr 10 Javascript
JS绘图Flot如何实现动态可刷新曲线图
Oct 16 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
mysql总结之explain
2012/02/27 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python字符串过滤性能比较5种方法
2017/06/22 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
新西兰优惠网站:Treat Me
2019/07/04 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
行政主管岗位职责
2013/11/18 职场文书
2013的个人自我评价
2013/12/26 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫
Python实现归一化算法详情
2022/03/18 Python