我已经为此搜索了几个小时,却无法找到回答问题的单一内容。我创建并发布了一个新的Azure机器学习服务,并创建了一个端点。我可以使用Postman REST CLient调用该服务,但是通过JavaScript网页访问它会返回一个控制台日志,说明为该服务启用了CORS。现在,就我而言,我无法弄清楚如何为Azure机器学习服务禁用CORS。非常感谢任何帮助,谢谢!
答案 0 :(得分:5)
目前,我们不支持在API端禁用CORS,但您可以使用上述选项,也可以使用API管理服务来禁用CORS。以下链接可以帮助您解决此问题
以下是链接:step by step指南,设置标题的video以及政策的this doc。
API管理服务通过在API配置页面中启用CORS来允许CORS
答案 1 :(得分:2)
您必须使用--disable-web-security
(Chrome即可)启动浏览器。这里有一些jQuery允许我在使用--disable-web-security重启我的浏览器后调用该服务:
$(document).ready(function () {
var ajaxData = "-- the request body ";
var serviceUrl = "https://ussouthcentral.services.azureml.net/workspaces/00e36959fc3e4673a32eae9f9b184346/--whatever";
$.ajax({
type: "POST",
url: serviceUrl,
data: ajaxData,
headers: {
"Authorization": "Bearer --API KEY HERE--",
"Content-Type": "application/json;charset=utf-8"
}
}).done(function (data) {
console.log(data);
});
});
返回了数据。注意:请务必在Chrome中看到该警告。我没有尝试,因为一些Chrome进程仍然在后台运行。在杀死那些之后,重启那个标志,看到消息,它就有效了。 (Chrome v40.something)
答案 2 :(得分:0)
Azure ML Book的摘录(可能会发现它很有用)
此CORS限制确实意味着,如果您希望充分利用 Azure机器学习Web服务用于部署,测试和 为各种各样的(网络)客户进行生产,您将需要主持 您自己的服务器端应用程序。您基本上有两种选择。