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中如何把字符串转化为对象、数组示例代码
Jul 17 Javascript
window.onload和$(function(){})的区别介绍
Oct 30 Javascript
javascript设计模式之工厂模式示例讲解
Mar 04 Javascript
JavaScript实现动态创建CSS样式规则方案
Sep 06 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 Javascript
复杂的javascript窗口分帧解析
Feb 19 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
Aug 01 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
d3.js中冷门却实用的内置函数总结
Feb 04 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php快速查找数据库中恶意代码的方法
2015/04/01 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
详谈python中冒号与逗号的区别
2018/04/18 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
迟到检讨书5000字
2014/01/31 职场文书
学习经验交流会主持词
2014/04/01 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
残疾人小组计划书
2014/04/27 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
经费申请报告范文
2015/05/18 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
sql server 累计求和实现代码
2022/02/28 SQL Server