问题描述
我想在angular和spring mvc中发布复杂的json对象。
所以写这段代码。
对于简单的对象(例如客户数据),它可以正常工作。
但对于复杂对象不起作用,并显示错误“ 400错误请求”。
篮子对象可能不止一个。
我在Java中的对象
public class Data {
private List<BasketData> baskets;
}
public class BasketData {
private CustomerData customer;
}
public class CustomerData {
private String name;
private String phone;
private String mobile;
private String address;
}
和弹簧控制器
public @ResponseBody List<Data> save(@RequestBody List<Data> data){
}
在html页面中,我通过ng-reeat创建表单。
<div ng-repeat="item in items track by $index">
<input ng-model="item[$index].baskets[$index].customer.phone"/>
<input ng-model="item[$index].baskets[$index].customer.name"/>
<input ng-model="item[$index].baskets[$index].customer.mobile"/>
<input ng-model="item[$index].baskets[$index].customer.address"/>
</div>
并在angularjs控制器中创建此json对象
var item = [
{
baskets: [
{
customer:
{
phone: "",
name: "",
mobile: "",
address: ""
}
}
]
}
];
$scope.items.push(item);
$http.post('/post', $scope.items);
1楼
当我有复杂的json时,我也面临着同样的问题
@RequestMapping(method = RequestMethod.POST, value = "/submitReturn", consumes = MediaType.APPLICATION_JSON_VALUE)
在客户端调用该方法的地方
headers.add("Accept", MediaType.APPLICATION_JSON_VALUE);
headers.add("Content-Type", MediaType.APPLICATION_JSON_VALUE);
要么
$.ajax({
url: 'your url',
type:"post",
data : json,
dataType: 'json',
contentType: "application/json",
success: function(response, textStatus, jqXHR){}
});