我在更新按钮上调用以下代码
$scope.update = function (p) {
console.log(p);
console.log(p.id);
console.log(p.unitPrice);
alert("ok");
$http({
method: 'POST',
url: 'update-product',
params: {product: p},
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (data, status, headers, config) {
console.log(data);
if (data.st === 1) {
window.location = "show-product";
} else {
$scope.msg = data.msg;
}
})
.error(function (data, status, headers, config) {
alert("Opps unable to connect to server");
});
}
但这不是在服务器产品对象中发送数据。
点击更新()后,它会获得以下数据 如调用log()时在控制台中所示。
Object {id: 1051, mainProduct: Object, sellingPrice: 234, unitPrice: 234, $$hashKey: "object:3"}
1051 234
来自服务器的显示"Invalid field value for field "product"."
在服务器端
public String ProductAction extends ActionSupport{
private Product product;
//Product contains id name ...
//getter and setter
public String update(){
System.out.println(getProduct().getId());
}
}
答案 0 :(得分:0)
将数据发布到服务器应该是data
。
$http({
method: 'POST',
url: 'update-product',
data: {product: p}, <--------- mention here
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})