解决dotnet-Angular的跨域(cors)问题
解决dotnet-Angular的跨域(cors)问题
前言
之前学了点 Angular ,打算用 dotnet core 做后端,之前没接触过这方面的东西,理所当然的遇到了跨域问题,之后也解决了,所以在此做个记录
碰到的问题
在使用 dotnet cli 生成的 angular 模板中
大概有一段代码是这样写的 (如果 3.1 后面的版本没改动的话)
angular 和 dotnet 同时启动,也必须同时结束
这个时候两个项目运行在同一个"域"下,大概是 localhost:5000
这种的
这样并不方便调试,dotnet 部分需要改动的时候,angular 也需要停掉
所以 dotnet 相关文档 给出了一个解决方案
虽然方便了开发,但是之后大概就会出现一些跨域访问失败的问题了(反正不知怎么的,我就碰到这问题了)
如何解决
主要修改 startup 中的代码
ConfigureServices
中添加以下代码
services.AddCors(options =>
{
options.AddPolicy("随便起个名字",
builder => builder.AllowAnyOrigin()
.AllowAnyHeader().AllowAnyMethod());
});
然后在 Configure
中添加
app.UseCors("上面随便起的那个名字");
之后大概就可以了
如果有不同的需求,可以添加不同的跨域策略
services.AddCors(options =>
{
options.AddPolicy("随便起个名字",
builder => builder.AllowAnyOrigin()
.AllowAnyHeader().AllowAnyMethod())
options.AddPolicy("随便起个名字#2",
builder => builder.AllowAnyMethod());
});
然后在使用的时候自己选择就好了
补充
当使用 AllowAnyOrigin
的时候,允许所有域,如果希望能够指定域,可以使用 WithOrigins
services.AddCors(options =>
{
options.AddPolicy("angular",
builder => builder.WithOrigins("http://localhost:4200","http://localhost:8080")
.AllowAnyHeader().AllowAnyMethod());
});
由于angular默认用4200端口
写成这样大概就好了
解决dotnet-Angular的跨域(cors)问题的更多相关文章
- python 全栈开发,Day100(restful 接口,DRF组件,DRF跨域(cors组件))
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确.方便快速开发 - 针对pc,手机,ipad,微信,支付宝... 使用同一个接口 2. 简述http协议? - 基 ...
- zuul+security跨域Cors问题解决
zuul+security跨域Cors问题解决 简介 场景 在服务后台都会出现跨域cors问题,不过一般spring解决起来比较方便,在框架+框架的基础上,问题就显得特别明显了,各种冲突,不了解源码的 ...
- 跨域CORS
一.跨域CORS是什么 当一个资源从与该资源本身所在的服务器的域或端口不同的域或不同的端口请求一个资源时,浏览器会发起一个跨域 HTTP 请求.出于安全考虑,浏览器会限制从脚本内发起的跨域HTTP请求 ...
- netCore2.0 Api 跨域(Cors)
1.在使用netCore2.0 使用WebApi的过程中涉及到了跨域处理. 在Microsoft.AspNetCore.All包中包含跨域Cors的处理,不必单独添加. 2.打开Startup.cs文 ...
- Angular2,Springboot,Zuul,Shiro跨域CORS请求踩坑实录
前言:前后端分离,业务分离,网关路由等已经成为当下web application开发的流行趋势.前端以单页面路由为核心的框架为主体,可以单独部署在nodejs或nginx上.后端以springboot ...
- Angular http跨域
原文:Angular http跨域 - 飞翔的小仓鼠 - 博客园 var app = angular.module('Mywind',['ui.router']); app.controller('M ...
- Vue-cli proxyTable 解决开发环境的跨域问题
Vue-cli proxyTable 解决开发环境的跨域问题 proxyTable: { '/list': { target: 'http://api.xxxxxxxx.com', pathRewri ...
- 解决阿里云OSS跨域问题
解决阿里云OSS跨域问题 现象 本人项目中对阿里云图片请求进行了两次,第一次通过img标签进行,第二次通过异步加载获取.第一次请求到图片,浏览器会进行缓存,随后再进行异步请求,保存跨域失效. 错误信息 ...
- IIS Manager 配置文件修该,允许跨域CORS访问
IIS Manager 配置文件修该,允许跨域CORS访问 IIS Manager 的api访问会出现跨域问题,需要 IIS Manager的配置文件中修改. 配置文件的路径:C:\Program F ...
随机推荐
- springboot:配置多个数据源
参考:还未整理 https://www.cnblogs.com/carrychan/p/9401471.html https://www.cnblogs.com/lijianda/p/11022892 ...
- Spring Boot 集成 Swagger2 教程
上篇讲过 Spring Boot RESTful api ,这篇简单介绍下 SwaggerUI 在 Spring Boot 中的应用. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可 ...
- java 基础--8 种基本数据类型:整型、浮点型、布尔型、字符型 整型中 byte、short、int、long 的取值范围 什么是浮点型?什么是单精度和双精度?为什么不能用浮点型表示金额?
一.8种基本数据类型(4整,2浮,1符,1布): 整型:byte(最小的数据类型).short(短整型).int(整型).long(长整型): 浮点型:float(浮点型).double(双精度浮点 ...
- springMVC是如何实现参数封装和自动返回Json的
HTTP 请求和响应是基于文本的,意味着浏览器和服务器通过交换原始文本进行通信.但是,使用 Spring,controller 类中的方法返回纯 ‘String’ 类型和域模型(或其他 Java 内建 ...
- 笔记-mongodb-用户及角色
笔记-mongodb-用户及角色 1. users 其实mongodb支持多种验证方式,本文只提及最简单也最常用的方式. 1.1. Authentication Database When ...
- [转]Mysql连表之多对多
转自 回到顶部 连表多对多 可以理解成一夫多妻和一妻多夫. 男人表: nid name 1 xxx 2 yyy 3 zzz 女人表: nid name 1 aaa 2 bbb 3 ccc 要让两个表建 ...
- 解决安装PyMySQL一直停在Building wheels for collected package:cryptography, cffi, pycparser的问题
我的运行环境为: 硬件:树莓派3b 系统:ubuntu_meta_16.04.2 因为项目需要,我在树莓派上搭建了基于python编程的Django的web框架,需要从MySQL中读取树莓派以及传感器 ...
- Spring Boot 概括
Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 微服务 2014,martin fowler 微服务:架构风格 ...
- LeetCode中等题(二)
题目一: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复 ...
- Android音频录制MediaRecorder之简易的录音软件实现代码(转)
原文:http://www.jb51.net/article/46182.htm Android音频录制MediaRecorder之简易的录音软件实现代码 这篇文章主要介绍了Android音频录制Me ...