CORS 全称 Cross-Origin Resource Sharing,是一种允许当前域(domain)的资源(比如 html/js/web service)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。
解决方案有多种,可以直接给 HttpResponseMessage 添加一个 Access-Control-Allow-Origin header、在 Webconfig 文件中配置、使用 MVC Filter 进行添加 Access-Control-Allow-Origin header 等
注意:如果是 IOS 12 中的 Safari 浏览器,配置为 * 是没有作用的,需要配置为固定的域名 htts://www.xxxxx.com
可以在 Action 中可以直接给 HttpResponseMessage 添加一个 Access-Control-Allow-Origin header。代码如下
public HttpResponseMessage GetBookInfo(int id)
{
BookDto book = db.Books.Include(b=>b.Author).Where(b=>b.BookId==id).Select(AsBookDto).SingleOrDefault();
if (book == null)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "未找到实例");
}
var response = Request.CreateResponse(book);
//有Access-Control-Allow-Origin响应头,浏览器才会把响应给客户端,* 表示允许任何来源的请求
response.Headers.Add("Access-Control-Allow-Origin", "*");
return response;
}
如果你的平台是 .Net Framework,可以在在 Webconfig文件中配置以下节点,使用配置文件时要先移除后添加,确保起作用。如下
<system.webServer>
<httpProtocol>
<!--跨域设置-->
<customHeaders>
<remove name="Access-Control-Allow-Origin" />
<remove name="Access-Control-Allow-Headers" />
<remove name="Access-Control-Allow-Methods" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
添加一个名为 CorsFilter 的过滤器,期主要作用是给 Response 添加 Access-Control-Allow-Origin header,这个过滤器的注册可以使用全局,也可以在 Controller、Action 上。核心代码如下
/// <summary>
/// 跨域
/// </summary>
public class CorsFilter:ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
base.OnActionExecuted(actionExecutedContext);
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
}
}
文章浏览阅读206次。项目运行环境配置:Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs。项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;_分销系统开源 python
文章浏览阅读230次。Docker启动时报错:We could not resolve DockerHub using DNS.解决方法:依次检查Firewalld、NetWorkManager、selinux的状态,并关闭关闭Firewalldsystemctl status firewalldsystemctl stop firewalldsystemctl disable firewalld..._unable to retrieve dockerhub
文章浏览阅读79次。题目链接:https://vjudge.net/problem/LightOJ-12131213 - Fantasy of a SummationPDF (English)StatisticsForumTime Limit:2 second(s)Memory Limit:32 MB...
文章浏览阅读4.1k次。swiper 前进后退按钮的显示和隐藏鼠标进入和离开时,前进后退按钮显示和隐藏<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://unpk_swiper隐藏箭头显示
文章浏览阅读3k次。字符串Go语言中的字符串是通过UTF-8编码,字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符 。字符串底层结构是一个起始地址和长度(字节个数)字符串转义符Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等转义符含义/r回车符/n换行符/t制表符/’单引号/"双引号//反斜杠例如://打印一个Windows平台下的一个文件路径package mainimport ( "_go .new.string(
文章浏览阅读3.6k次。python爬虫基本概述一、爬虫是什么二、爬虫可以做什么三、爬虫的分类四、爬虫的基本流程一、爬虫是什么 网络爬虫(Crawler)又称网络蜘蛛,或者网络机器人(Robots). 它是一种按照一定的规则, 自动地抓取万维网信息的程序或者脚本。换句话来说,它可以根据网页的链接地址自动获取网页 内容。如果把互联网比做一个大蜘蛛网,它里面有许许多多的网页,网络蜘蛛可以获取所有网页 的内容。 爬虫是一个模拟人类请求网站行为, 并批量下载网站资源的一种程序或自动..._爬虫脚本是干什么的
文章浏览阅读2.8k次。#include #include #include #include #include #include #include #define GETADR(n,str) (str *) calloc (n,sizeof(str)) // 申请N个指定字符串长度的地址#define W16 16 #define C16 32 unsigned char bi
文章浏览阅读410次,点赞4次,收藏6次。上面这些公司都是时下最受欢迎的互联网大厂,他们的职级、薪资、福利也都讲的差不多了,相信大家都是有梦想和野心的人,心里多少应该都有些想法。也相信很多人也都在为即将到来的金九银十做准备,也有不少人的目标都是这些公司。我这边有不少朋友都在这些厂工作,其中也有很多人担任过面试官,上面的资料也差不多都是从朋友那边打探来的。除了上面的信息,我这边还有这些大厂近年来的面试真题及解析,以及一些朋友出于兴趣和热爱一起整理的Android时下热门知识点的学习资料。
文章浏览阅读114次。原文:C# “贝格尔”编排法采用“贝格尔”编排法,编排时如果参赛队为双数时,把参赛队数分一半(参赛队为单数时,最后以“0”表示形成双数),前一半由1号开始,自上而下写在左边;后一半的数自下而上写在右边,然后用横线把相对的号数连接起来。这即是第一轮的比赛。第二轮将第一轮右上角的编号(“0”或最大的一个代号数)移到左角上,三轮又移到右角上,以此类推。即单..._c# 贝格尔编排算法
文章浏览阅读286次。静态网站的编写主要是用 HTML DⅣV+ CSSJS等来完成页面的排版设计,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉导航栏、鼠标划过效果等知识点,学生网页作业源码,制作水平和原创度都适合学习或交作业用,记得点赞。 精彩专栏推荐 【作者主页——获取更多优质源码】 【web前端期末大作业——毕设项目精品实战案例(1000套)】 旅游景_北京理工大学首页设计源码
文章浏览阅读966次。详解Python基础random模块随机数的生成来源:中文源码网浏览: 次日期:2019年11月5日【下载文档:详解Python基础random模块随机数的生成.txt】(友情提示:右键点上行txt文档名->目标另存为)详解Python基础random模块随机数的生成随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数..._随机数用哪个库
文章浏览阅读190次。作者:waiyweiys 回复日期:2012-05-08 18:33:26 从一个人的键盘磨损度可以看出很多东西。比如: 1、W严重磨损 原因:FIFA的加速键是W。 分析:此人是个FIFA高手。这种人在看球时左手中指会不自觉地狂点;踢球时会抱怨说:又按错键了;跑步时会默念:w、w、w…… 2、A..._之术2