ASP.NET WEB API 在本地主机上

ASP.NET WEB API on localhost

我在本地主机的 IIS 上有一个 ASP.NET WEB Api,我还有一个在 IIS Express 上的 MVC 应用程序。 我想从 jquery ajax 调用 web api,但没有成功。

网络api:localhost/WebApi/api/values

MVC 应用:localhost:44305/

我使用的是 IE 11。我通过 fiddler 检查请求未处理,但收到一条错误消息:

"0:Error:Access Denied".

有人可以帮助我吗?

这是跨源请求问题。您应该在 web.api 应用程序

中使用 EnableCors()

打开文件 App_Start/WebApiConfig.cs。将以下代码添加到 WebApiConfig.Register 方法。

using System.Web.Http;
namespace WebService
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
        // New code
        config.EnableCors();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}
}

有关详细信息,请参阅 this page