我正在尝试从Angularjs向Web Api Action方法发送Post请求。 WebApi和角度相关的代码符号在不同的端口中(因为它们在单个解决方案中的单独项目中)。在发帖请求时我收到错误:
XMLHttpRequest cannot load "API method path here". Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'localhost:64648' is therefore not allowed access.
响应的HTTP状态代码为405.我的POst调用是:
var data = { 'obj': 'text' };
this.PostApiCall = function (controllerName, methodName, obj) {
result = $http.post('localhost:49551/api/' + controllerName + '/' + methodName, obj)
.success(function (data, status) {
alert("All right");
result = (data);
}).error(function () {
alert("Something went wrong");
});
return result;
};
似乎这是与CORS相关的问题,我在我的WebApiConfig中包含了config.EnableCors();
。我的控制器中还包含[EnableCors(origins: "localhost", headers: "", methods: "")]
,以允许来自localhost的所有请求作为我的发布请求来自localhost。我仍然得到同样的错误。对丢失的东西有任何想法吗?
注意:我在localhost所在的所有地方都有Http://,我删除了Http,因为我不允许在我的问题中包含2个以上的链接。
答案 0 :(得分:0)