【发布时间】:2017-09-24 06:03:38
【问题描述】:
我已将我的 MVC5 应用程序部署到 IIS,并且我的控制器上的方法之一返回一个 json 对象。当我浏览该网站时,该应用程序运行良好。如果我直接调用控制器上的方法,我可以在浏览器中看到 json 对象。
但现在我正在构建一个 Aurelia 应用程序并在 api 方法上进行获取。在 Chome 中,使用开发人员工具,在控制台下,我收到以下错误:
请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:55829' 因此不允许访问。
我需要对托管应用程序的 web.config 做些什么?
这就是我从 Aurelia 调用方法的方式:
http.fetch('http://localhost/MyCart/Home/GetProducts')
.then(result => result.json())
.then(data => {
console.log(data.description);
});
【问题讨论】:
-
Aurelia 应用程序是否单独托管?如果它在自己的端口上,那么您需要启用 CORS 在两者之间进行通信。这取决于您使用什么库来提供
http,但它可能有一些您可以打开的“CORS”模式,并且服务器也需要 CORS 设置。 -
通过在我的托管应用程序的 web.config 上启用 CORS 使其工作。 Aurelia 应用程序处于开发模式,因此尚未托管,仅通过 Visual Studio。
标签: json authentication xmlhttprequest aurelia