【发布时间】:2016-12-04 17:11:23
【问题描述】:
我在 Angular 和控制器中有一个 $http 函数,但控制器不会在日志打印中检索从 Angular 发送的数据
跳过 CORS 处理:响应已包含 “访问控制允许来源”标题
我已将web.xml 文件中的过滤器配置到标题中
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with");
我的角度函数是这个
app.controller('LoadCardController', function($scope, $http) {
$scope.executor = function() {
var person = {
name : 'Prueba',
todayDate : 1469679969827
};
console.log("DATA=> ", data);
$http({
method : 'POST',
url : 'http://localhost/myWeb/addPerson',
data : person,
headers : {
'Content-Type' : 'application/json'
}
}).then(function successCallback(response) {
console.log("success");
console.log(response);
}, function errorCallback(response) {
console.log("error");
console.log(response);
});
}
});
我的控制器是这个...
@ResponseBody
@RequestMapping(path = "/addPerson", method = RequestMethod.POST)
public Person addPerson(final Person person) throws CustomException {
person.setAge("18");
person.setBithDay("15");
LOGGER.trace("Add person with data {}", person);
return person;
}
});
}
当进入控制器时,人的数据为空,对于名称和今天的属性,这是我以角度发送的。
我的控制器现在很简单,因为只返回同一个人对象
【问题讨论】:
-
我认为这与 CORS 无关,因为正如您所说,Spring 控制器能够接收请求。您是否需要为所有主机启用 CORS?
标签: javascript angularjs spring spring-mvc cors