我正在尝试从服务器返回响应。
以将汽车添加到服务器为例,我的AngularJS工厂如下:
app.factory('CarServices', function ($resource) {
return $resource('/ws/cars', {}, {
query: { method: 'GET', isArray: true },
create: { method: 'POST' },
delete: { method: 'DELETE', params: {id: '@id'} }
})
});
然后,在我的CarController中我有这个功能:
// callback for ng-click 'addCar':
$scope.addCar= function () {
$scope.car = { "plate": "778899", "brand": "Ferrari" };
CarServices.create($scope.car).$promise.then(function() {
// If success, show success message
}, function(error) {
// If error, show message from server
});
}
我正在使用Java和RESTful WebServices,这是我的WebService:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addCar(JsonCar jc) {
Car car = new Car(jc.getPlate(), jc.getBrand());
if(car.getByPlate()) {
return Response.ok().build();
} else {
return Response.status(Response.Status.NOT_ACCEPTABLE)
.entity("Car does not exist on database").build();
}
}
所以,我不想在控制器出现错误的情况下,显示消息“汽车在数据库中不存在”,而不是我收到此错误(console.log(错误)):
json.parse json数据第1行第1列的数据意外结束
谢谢。