Json 从不同的应用程序调用MVC控制器方法

Json 从不同的应用程序调用MVC控制器方法,json,authentication,xmlhttprequest,aurelia,Json,Authentication,Xmlhttprequest,Aurelia,我已将MVC5应用程序部署到IIS,控制器上的一个方法返回json对象。当我浏览该网站时,该应用程序运行良好。如果我直接调用控制器上的方法,我可以在浏览器中看到json对象 但现在我正在构建一个Aurelia应用程序,并在api方法上执行一个获取。在Chome中,使用开发人员工具,在Console下,我得到一个错误消息,错误如下: 请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“” 我需要对宿主应用程序的web.config做些什么 这就是我

我已将MVC5应用程序部署到IIS,控制器上的一个方法返回json对象。当我浏览该网站时,该应用程序运行良好。如果我直接调用控制器上的方法,我可以在浏览器中看到json对象

但现在我正在构建一个Aurelia应用程序,并在api方法上执行一个获取。在Chome中,使用开发人员工具,在Console下,我得到一个错误消息,错误如下:

请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”

我需要对宿主应用程序的web.config做些什么

这就是我从Aurelia调用方法的方式:

http.fetch('http://localhost/MyCart/Home/GetProducts')
    .then(result => result.json())
    .then(data => {
        console.log(data.description);
});

我通过在托管应用程序的web.config上启用CORS使其正常工作:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

我通过在托管应用程序的web.config上启用CORS使其正常工作:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
        </customHeaders>
    </httpProtocol>
</system.webServer>


Aurelia应用程序是否单独托管?如果它在自己的端口上,那么您需要启用CORS在两者之间进行通信。这取决于您使用哪个库来提供
http
,但它可能有一些“CORS”模式,您可以打开,服务器也需要CORS设置。通过在我的托管应用程序的web.config上启用CORS,它就可以工作了。Aurelia应用程序处于开发模式,因此尚未托管,只是通过Visual Studio托管。Aurelia应用程序是否单独托管?如果它在自己的端口上,那么您需要启用CORS在两者之间进行通信。这取决于您使用哪个库来提供
http
,但它可能有一些“CORS”模式,您可以打开,服务器也需要CORS设置。通过在我的托管应用程序的web.config上启用CORS,它就可以工作了。Aurelia应用程序处于开发模式,因此它尚未托管,只是通过Visual Studio托管。