首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用来自javascript的CORS的.NET核心应用编程接口

使用来自javascript的CORS的.NET核心应用编程接口
EN

Stack Overflow用户
提问于 2018-10-11 02:07:54
回答 1查看 220关注 0票数 0

我的API托管在与将访问它的web应用程序不同的url上。我目前已经将CORS配置为允许API启动中的所有内容:

ConfigureServices:

代码语言:javascript
复制
        services.AddCors(options => {
            options.AddPolicy("CorsPolicy",
                builder => builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials());
        });

配置:

代码语言:javascript
复制
app.UseCors("CorsPolicy");
app.UseMvc();

如果我在浏览器中输入API URL,它会很好地返回请求,并按预期返回数据。

但是当我尝试使用javascript进行API调用时,如下所示:

代码语言:javascript
复制
var xhr = new XMLHttpRequest();    
xhr.open('GET', 'https://api.example.com/Controller');
xhr.onload = function () {
    if (xhr.status === 200) {
        alert('Response is ' + xhr.responseText);
        console.log('Response is ' + xhr.responseText);
    }
    else {
        alert('Request failed.  Returned status of ' + xhr.status);
        console.log('Request failed.  Returned status of ' + xhr.status);
    }
};
xhr.send();

它失败了,并且我在我的控制台中得到以下错误消息:

代码语言:javascript
复制
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the 
remote resource at https://api.example.com/Controller. (Reason: CORS header 
‘Access-Control-Allow-Origin’ missing).[Learn More]

我在这里遗漏了什么,需要调整什么才能使它工作?

EN

回答 1

Stack Overflow用户

发布于 2018-10-11 06:01:04

这被证明是我的API中的一个错误,我调用的方法抛出了一个500。我仍然不明白为什么Firefox控制台将此报告为CORS问题,但这似乎是事实。一旦我修复了这个错误,消息就消失了

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

https://stackoverflow.com/questions/52746327

复制
相关文章

相似问题

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