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数组之存放checkbox全选值示例代码
Dec 20 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
JS全局变量和局部变量最新解析
Jun 24 Javascript
angular实现表单验证及提交功能
Feb 01 Javascript
jQuery EasyUI Panel面板组件使用详解
Feb 28 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
react的滑动图片验证码组件的示例代码
Feb 27 Javascript
微信小程序实现下拉刷新动画
Jun 21 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
Jun 01 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 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
PHP4.04简明安装
2006/10/09 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python对象体系深入分析
2014/10/28 Python
Python map和reduce函数用法示例
2015/02/26 Python
python中requests小技巧
2017/05/10 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
python正则实现提取电话功能
2018/02/24 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
python 重命名轴索引的方法
2018/11/10 Python
python实现简单名片管理系统
2018/11/30 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
大学生实习期自我评价范文
2013/10/03 职场文书
社团招新策划书
2014/02/04 职场文书
送达通知书
2015/04/25 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python
Win11快速关闭所有广告推荐
2022/04/19 数码科技