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

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

问题描述:

我已经将我的MVC5应用程序部署到IIS,并且我的控制器上的其中一个方法返回一个json对象。当我浏览到该网站时,该应用可以正常工作。如果我直接调用控制器上的方法,我可以在浏览器中看到json对象。从不同的应用程序调用MVC控制器方法

但现在我正在构建一个Aurelia应用程序,并在api方法上执行一次获取。在门牌号与开发工具,控制台下,我得到了以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:55829 ' is therefore not allowed access.

什么我需要做的,我的托管应用程序的web.config?

这是我特意打电话从Aurelia大街方法:

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

是在Aurelia路上应用单独托管?如果它在自己的端口上,那么你需要启用CORS来在两者之间进行通信。这取决于你用来提供'http'的库,但它可能有一些你可以打开的“CORS”模式,服务器也需要CORS设置。 – thinkOfaNumber

+0

通过在我的托管应用程序的web.config上启用CORS来获得它的工作。 Aurelia应用程序处于开发模式,因此只有通过Visual Studio才能托管。 –

我得到了它通过使我的托管应用程序的web.config CORS工作:

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