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
我在本地主机的 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