vue几个常用跨域处理方式介绍


Posted in Javascript onFebruary 07, 2018

设置express代理请求

在基于vue-cli的项目中,在开发环境配置(config/dev.env.js)中设置代理,能够将所有/apidomain开头的请求都通过npm run dev启动的express服务器重定向到目标接口

官方文档:https://vuejs-templates.github.io/webpack/proxy.html

proxyTable: {
  '/apidomain':{
  target:'http://localhost:prot',//或ip或域名。
  changeOrigin:true,
  pathRewrite: {
   '^/apidomain': ''
  }
  }
 },

若要通过IP在局域网访问h5,启动开发服务器的时候添加host参数即可

即package.json的dev命令配置如下

"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",

关闭chrome安全策略实现跨域

windows中新建一个bat文件粘贴下面的命令即可以此模式打开

cd "C:\Program Files (x86)\Google\Chrome\Application" 
chrome.exe --disable-web-security --user-data-dir=c:/CorsUserData

asp.net core 服务端的CORS跨域设置

官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/security/cors

在实际设置中,因为在h5端添加header参数产生了预检(OPTIONS)请求,看了上述文章后将通用参数修改到了query参数中

1. 添加cors服务

public void ConfigureServices(IServiceCollection services)
{
 //若只有部分接口则定义一个或多个命名的 CORS 策略,并在运行时按名称然后选择的策略,通过特性标记去设置跨域 详情见文档
 services.AddCors();
}

2. 启用中间件

//读取配置文件中设置的允许跨域的域名 CorsOrigins为一个数组 设置["*"]则会允许所有
var origins = Configuration.GetSection("CorsOrigins").GetChildren().Select(s => s.Value).ToArray();
app.UseCors(e =>
{
 e.WithOrigins(origins).AllowAnyHeader().AllowAnyMethod().AllowCredentials();
});
//Startup文件中Configuration对象的获取
public IConfiguration Configuration { get; }
public Startup()
{
 var builder = new ConfigurationBuilder()//...AddJsonFile($"appsettings.json");
 Configuration = builder.Build();
}

JSONP

JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

Javascript 相关文章推荐
JS target与currentTarget区别说明
Aug 28 Javascript
jquery maxlength使用说明
Sep 09 Javascript
jquery cookie实现的简单换肤功能适合小网站
Aug 25 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
Dec 01 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
一张Web前端的思维导图分享
Jul 03 Javascript
继续学习javascript闭包
Dec 03 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
Jun 12 Javascript
Vue.js 踩坑记之双向绑定
May 03 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 Javascript
基于JS实现简单滑块拼图游戏
Oct 12 Javascript
原生javascript中this几种常见用法总结
Feb 24 Javascript
vue项目中axios使用详解
Feb 07 #Javascript
vue-cli webpack2项目打包优化分享
Feb 07 #Javascript
浅谈es6中export和export default的作用及区别
Feb 07 #Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 #Javascript
vue中如何使用ztree
Feb 06 #Javascript
javascript回调函数详解
Feb 06 #Javascript
原生JS实现瀑布流插件
Feb 06 #Javascript
You might like
php 魔术方法使用说明
2009/10/20 PHP
php 获取本地IP代码
2013/06/23 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
jquery 最简单的属性菜单
2009/10/08 Javascript
javascript 闭包
2011/09/15 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
python抓取网页图片示例(python爬虫)
2014/04/27 Python
python实现批量命名照片
2020/06/18 Python
Python datetime 如何处理时区信息
2020/09/02 Python
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
澳大利亚家庭花园和DIY工具网店:VidaXL
2019/05/03 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
2014年医学生毕业自我鉴定
2014/03/26 职场文书
环保倡议书500字
2014/05/15 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
药店采购员岗位职责
2014/09/30 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
2019大学生实习报告
2019/06/21 职场文书
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis