我在更新记录时返回一个字符串,并希望在UI上显示相同的字符串(已成功更新)
这是我的代码:
@RequestMapping(method = RequestMethod.PUT, value = "/update")
public @ResponseBody String update(@RequestParam("id") int id, @RequestParam("name") String name) {
employeeService.update(id, name);
return "updated successfully";
前端代码:
$scope.update = function(Employee) {
$http({
method : 'PUT',
url : '/Employee/update',
params : {
id : Employee.id,
name : Employee.name
}
}).success(function(data, status, headers, config) {
$scope.updatedText = data;
$scope.updatedFlag = true;
}).error(function(data, status, headers, config) {
console.log("data.token " + data.token);
});
};
这是两个有趣的屏幕截图
此处状态未定义
再次
此处状态为200
请让我知道背后的原因是什么,是的,我可以看到hibernate表中有变化
请帮忙
答案 0 :(得分:0)
我会告诉你一个例子我如何使用API
处理对$http
的调用并承诺$q
我在服务中使用它,可以注入我的控制器。
this.update = function (Employee) {
var datosRecu = null;
var deferred = $q.defer();
var token = $cookies.getObject('token');
$http({
url: '/Employee/update',
method: 'PUT',
params: {
id: Employee.id,
name: Employee.name
},
headers: {
'Authorization': 'Bearer ' + token,
'Content-type': 'application/json'
}
}).then(function successCallback(response) {
datosRecu = response;
deferred.resolve(datosRecu);
}, function errorCallback(response) {
datosRecu = response;
deferred.resolve(datosRecu);
});
return deferred.promise;
};
现在当我将它注入我的控制器时,我可以阅读承诺deferred.promise
以及所有响应数据。
我希望它对你有帮助。