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函数
Oct 16 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
Mar 26 Javascript
JavaScript 获取任一float型小数点后两位的小数
Jun 30 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
将form表单通过ajax实现无刷新提交的简单实例
Oct 12 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
微信小程序 增、删、改、查操作实例详解
Jan 13 Javascript
图解Javascript——作用域、作用域链、闭包
Mar 21 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
Apr 18 Javascript
JS中offset和匀速动画详解
Feb 06 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 Javascript
express框架下使用session的方法
Jul 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
咖啡与牛奶
2021/03/03 冲泡冲煮
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
python 提取文件的小程序
2009/07/29 Python
Python3里的super()和__class__使用介绍
2015/04/23 Python
Python贪心算法实例小结
2018/04/22 Python
对python的输出和输出格式详解
2018/12/08 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
Python猴子补丁知识点总结
2020/01/05 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
迟到检讨书大全
2014/01/25 职场文书
股权转让协议书范本
2014/04/12 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
python中pandas对多列进行分组统计的实现
2021/06/18 Python
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB