我正在使用Angular JS + CORS + Web API。我能够为GET,POST和PUT发出HTTP请求。然而,IE显示" DELETE"请求始终处于待处理状态。
我尝试在服务器端添加跟踪&它正确响应,但不知何故IE只显示处于挂起状态的请求。
此代码适用于除IE 10以外的所有浏览器。适用于本地和我没有使用Azure来部署API。
"请求的资源不支持http方法' DELETE'。"我的网络API代码是:
配置代码
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
EnableCorsAttribute CorsAttribute = new EnableCorsAttribute("*", "*", "*");
config.EnableCors();
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
控制器代码
[EnableCors("*", "*", "*")]
[Authorize]
public IHttpActionResult Delete()
{
if (string.IsNullOrEmpty(this.userName)) return BadRequest();
if (string.IsNullOrEmpty(this.clientId)) return BadRequest();
var result = _repo.DeleteRefreshToken(this.userName, this.clientId, this.session);
return new CustomErrorResult(this.Request, System.Net.HttpStatusCode.NoContent);
}