首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >chrome和firefox上的CORS问题

chrome和firefox上的CORS问题
EN

Stack Overflow用户
提问于 2016-04-09 01:59:17
回答 2查看 1.1K关注 0票数 2

IIS 7.5中的web API不支持Chrome和Firefox。我在chrome中得到以下错误:请求的资源上不存在'Access-Control-Allow-Origin‘标头。因此不允许访问源'http://10.xx.xx.xx:81

Firefox抛出401未授权错误。

在IE 11上完美工作

这些浏览器是否需要其他设置?

EN

回答 2

Stack Overflow用户

发布于 2016-04-09 06:01:14

首先安装WebApi Cors NuGet包:

代码语言:javascript
运行
复制
Install-Package Microsoft.AspNet.WebApi.Cors

然后在您的WebApiConfig.cs文件中:

代码语言:javascript
运行
复制
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        var cors = new EnableCorsAttribute("*", "*", "*");
        config.EnableCors(cors);

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        //other code
    }
}

这样,您就可以全局启用CORS标头,从而允许来自任何域的跨站点请求。如果您只想允许来自单个(或一组)域的跨站点请求,那么请更改EnableCorsAttribute的构造函数参数

代码语言:javascript
运行
复制
new EnableCorsAttribute("http://alloweddomain.com", "*", "*");

您还可以在控制器或操作的基础上应用EnableCorsAttribute

有关官方文档的更多信息:http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

票数 1
EN

Stack Overflow用户

发布于 2016-04-09 02:04:38

“当资源请求来自不同于第一个资源本身所服务的域的资源时,它会发出跨域HTTP请求”您可以使用chrome插件来允许CORS:

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36506307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档