Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        4年前关闭。
                                                                                            
                
        
我在本地主机上的IIS上有一个ASP.NET WEB Api,并且在IIS Express上有另一个MVC应用程序。
我想从jquery ajax调用Web api,但是不成功。

网络API:localhost/WebApi/api/values

MVC应用:localhost:44305/

我正在使用IE11。我与小提琴手一起检查该请求没有得到处理,但收到一条错误消息:

"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

10-08 02:16