PUT에 대한 응답으로 반환 된 데이터 업데이트를 유지하려면 어떻게해야합니까?각 자원 PUT 응답이 손실 됨
저는 서버에 데이터를 성공적으로 검색, 업데이트 및 기록하는 기본 각도 (vsn 1.2.26) RESTful 앱이 있습니다. 서버는 업데이트 된 레코드의 "updateTime"필드를 변경하고 (200) 응답으로 브라우저에 반환합니다. $ resource.save 콜백 함수에서 업데이트 된 값을 볼 수 있지만이를 콜백 지속 시간을 초과하는 $ 범위로 유지하여 UI에 표시되도록하는 방법을 생각할 수 없습니다.
$scope.$apply();
또는 당신은 당신이로 기능을 변경할 수 있습니다 :
angular.module('myResources',['ngResource'])
.factory('Fund',['$resource',function($resource)
{
return $resource('http://myhost/xyz/fund/:id'
,{ id: '@guid' }
,{ save: { method: 'PUT' }
,query: {method: 'GET', isArray: false }
}
);
}])
...
$scope.selectRecord = function(R)
{
...
$scope.record = R;
}
$scope.saveRecordChanges = function()
{
...
myFundResource.save($scope.record,function(response){
$scope.record = angular.fromJson(response); // gets refreshed data but doesn't update UI
console.log("new updateTime=" + $scope.record.updateTime); // correctly displays new value in the log
});
}
Json을 호출하기 전에 응답을 표시 할 수 있습니까? json을 javascrit 객체로 수동으로 변환 할 필요가없는 것 같습니다. –
@ Tyler.z.yang 여기에 대한 응답 : 응답 헤더 : 콘텐츠 형식 : \t application/json; charset = UTF-8 콘텐츠 길이 : 본문 : { "guid": "357fad51-62d5-420c-9372-1449817192b8", "fundCode": "46", "name": "ABACAB" 시스템 ":"X17 ","updateTime ":"2014-11-13T16 : 27 : 14 "} –
어, 내 응답은 myFundResource.save 콜백입니다. 저장 콜백에서 응답을 기록하기 위해 console.log()를 사용할 수 있습니까? –