首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >被CORS策略阻塞

问被CORS策略阻塞
EN

Stack Overflow用户
提问于 2019-12-04 06:43:31
回答 1查看 1.7K关注 0票数 0

当我试图从我的自定义webAPI访问数据时,我面临着被CORS策略错误阻止的API。

下面是我用来进行webAPI调用的代码。

代码语言:javascript
复制
var orgurl = "<web api url>";
var req = new XMLHttpRequest();
req.open("GET", encodeURI(orgurl), false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.setRequestHeader('Access-Control-Allow-Credentials', 'false');
req.setRequestHeader('Access-Control-Allow-Origin', '*');
req.setRequestHeader('Access-Control-Allow-Methods', '*');
req.setRequestHeader('Access-Control-Allow-Headers', "*");
req.onreadystatechange = function () {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        console.log("this.status: " + this.status);
        if (this.status === 200) {
            console.log("this.response: " + this.response);
            var result = JSON.parse(this.response);
            if (result.length > 0) {
                for (var i = 0; i < result.length; i++) {
                    var obj = {};
                    obj.name = result[i].NAME;
                    console.log("obj: " + obj);
                }
            }
        }
    } else {
        alert(this.statusText);
    }
};

req.send();

以下是错误消息:

CORS策略阻止了

对来自“XMLHttpRequest”的XMLHttpRequest的访问:对飞行前请求的响应不通过访问控制检查:请求的资源上不存在“访问控制-允许-原产地”标题。

以上代码工作良好,如果我是使用铬后禁用-网络安全。使用命令chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

我已经在Web的C#配置和控制器文件中添加了设置,但是我仍然无法从Web中获得响应。

请提供你的建议。

EN

回答 1

Stack Overflow用户

发布于 2019-12-05 09:58:16

据我所知,您不能直接从另一个服务中调用webapi。相反,您需要创建一个蓝色的应用程序,允许动态在线,而对于该应用程序,忽略CORAS。您将需要非交互式用户使用此功能。这是供参考的链接。

https://medium.com/capgemini-dynamics-365-team/dynamics-365-application-users-no-additional-license-required-and-no-limit-on-quantity-4bdc49f8ce2d

https://learn.microsoft.com/en-us/power-platform/admin/create-users-assign-online-security-roles

https://www.google.com/amp/s/www.inogic.com/blog/2018/07/is-it-possible-to-createupdate-application-user-in-dynamics-365-programmatically/amp/

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

https://stackoverflow.com/questions/59170293

复制
相关文章

相似问题

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