我有一个表单,提交后会将消息发送到我们的REST API。
如果成功,REST API将以与GET调用相同的JSON格式返回更新的值。
出于某种原因,即使在POST调用结束后,{{escalation.policy}}
仍未在范围内更新。
var escalation = Escalation.save({
policy: $scope.policy,
}).$promise.then(function (data) {
$scope.escalation.push(data);
alert(data);
},
答案 0 :(得分:0)
您的REST请求是否会进入功能?尝试将错误函数放在then()旁边,并确保您的请求成功执行并回复。
答案 1 :(得分:0)
这是submit()
的当前完整代码段$scope.submit = function () {
var Escalation = $resource('/api/escalation');
var escalation = Escalation.save({
policy: $scope.policy,
}).$promise.then(function (data) {
$scope.escalation.push(data);
}, function (error) {
alert('This request could not be processed. Please try again later.');
console.log(error);
});
};
对于GET或POST,API将始终以以下格式返回:
{"policy":"Whatever the current/new policy is."}
唉,我仍然无法找出为什么视图不会更新。
答案 2 :(得分:0)
您需要在$scope.$apply()
之后致电$scope.escalation.push(data);
。这将导致新的$摘要强制视图更新,我的猜测是$promise.then
在通常的摘要循环之外发生。