【发布时间】:2016-04-20 12:26:39
【问题描述】:
我有一个非常不寻常的问题刚刚出现。我正在编写一个带有 ASP.NET Web API 后端的 Ionic 应用程序。我通过将其添加到我的 WebApiConfig 类的 register 方法中,很早就解决了飞行前的 CORS 问题:
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
在浏览每个页面并进行各种 $http.get 调用时,飞行前 CORS 正在发挥作用(以下是从 Chrome 开发者工具获取的网络流量)
但是我最近在 WebApi 中创建了一个附加方法:
[Authorize]
[Route("api/GetJobType")]
public IHttpActionResult GetJobType(int? id)
{
var model = new JobsModel();
return this.Ok(model.GetJobType(id.Value));
}
但飞行前 OPTIONS 请求返回 404:
这是 $http.get 代码:
var url = ApiEndpoint.url + '/GetJobType/' + jobId;
$http.get(url).then(function(resp) {
alert(resp.data);
}, function(err) {
alert(err);
});
关于为什么 OPTIONS 请求仅对一种方法会失败,而其他方法却完美无缺的任何想法。
【问题讨论】:
标签: c# angularjs asp.net-web-api ionic cors