Asp.net mvc 在本地主机上运行时从另一个项目查询MVC Web Api

Asp.net mvc 在本地主机上运行时从另一个项目查询MVC Web Api,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我有一个Vis Stu解决方案,其中包含许多项目。其中两个项目是 MVC Web Application (Views, JS, CSS) MVC Web API 因为这些都是他们自己的项目,所以我需要一种通过Web应用程序查询Web Api的方法 在JS中,我有一个函数试图从Web Api获取数据 get: function (id) { var url = 'api/Employee/' + id; var httpRequest = new XMLHttpRequest(

我有一个Vis Stu解决方案,其中包含许多项目。其中两个项目是

MVC Web Application (Views, JS, CSS)
MVC Web API
因为这些都是他们自己的项目,所以我需要一种通过Web应用程序查询Web Api的方法

在JS中,我有一个函数试图从Web Api获取数据

get: function (id) {
    var url = 'api/Employee/' + id;
    var httpRequest = new XMLHttpRequest();
    httpRequest.onreadystatechange = function (data) {
        return data;
    };
    httpRequest.open('GET', url);            
    httpRequest.send();
}
如果我构建Api解决方案并将其本地主机地址添加到ajax url(
http://localhost:50475/api/Employee/3
)我收到了通常不允许跨原产地的问题


在我开发时,有没有一种方法可以从另一个来源连接到这个Api

您是否尝试将程序集引用添加到项目中?这将使项目在开发过程中可以相互访问

在visual studio中: 1.转到需要访问API项目的项目 2.右键单击引用 3.添加引用
4.在“解决方案”下,选择您试图访问的项目的名称。

我认为这是由于默认情况下visual studio分配给它们的WebApi和MVC项目的不同端口造成的。您可以更改默认端口绑定,但应为两个应用程序设置一个唯一的端口。右键单击project=>properties=>web并设置端口。

Hi,是的,我添加了此引用。我没有尝试从Web应用的服务器端访问Web Api。谢谢