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 相关文章推荐
jquery datatable后台封装数据示例代码
Aug 07 Javascript
JQuery中attr方法和removeAttr方法用法实例
May 18 Javascript
动态创建按钮的JavaScript代码
Jan 29 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
Oct 12 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
详解mpvue实现对苹果X安全区域的适配
Jul 31 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 Javascript
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
如何在Vue.JS中使用图标组件
Aug 04 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
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
JScript的条件编译
2007/05/29 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
Javascript Throttle & Debounce应用介绍
2013/03/19 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
Python显示进度条的方法
2014/09/20 Python
Django框架自定义session处理操作示例
2019/05/27 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
英语硕士生求职简历的自我评价
2013/10/15 职场文书
初中音乐教学反思
2014/01/12 职场文书
社区工作者先进事迹
2014/01/18 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
服务行业口号
2014/06/11 职场文书
高效课堂标语
2014/06/26 职场文书
日语系毕业求职信
2014/07/27 职场文书
临时用工协议书范本
2014/10/29 职场文书
个人自荐书范文
2015/03/09 职场文书
面试复试通知单
2015/04/24 职场文书
环境卫生整治简报
2015/07/20 职场文书
求职自我评价参考范文
2019/05/16 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang