2014-06-17 3 views
0

저는 각도가 너무 새롭기 때문에 아마도 모든 일을 잘못하고있을 것입니다. 내 쿼리는 있어야하는 것처럼 개체의 배열을 반환합니다. 그런 다음 클릭 이벤트를 수행하여 게시물을 테스트합니다. 내 웹 API를 제대로 실행합니다 ...하지만 내 get에서 동일한 배열을 반환합니다. 이 캐시 된 것 같아요? 왜 내 글은 내 이전에 얻은 결과를 보여줄 수 있습니까?

편집 - 죄송합니다. 더 명확 할 수 있습니다. 내 saveTest 메서드를 실행하면 게시물이 실행되고 배열이 저장되지만 결과의 변수는 원래의 배열에서 저장됩니다. 이 후 서비스

app.factory('referenceService', function ($resource) { 
var requestUri = '/api/reference'; 
return $resource(requestUri) 
}); 

웹 API를

public class ReferenceController : BaseController 
{ 

    public HttpResponseMessage Get() 
    { 
    List<WebReference> references = new List<WebReference>(); 

    WebReference reference = new WebReference(); 
    WebReference reference2 = new WebReference(); 

    reference.Name = "Andrew"; 
    reference.Relationship = "QuickSupport"; 
    reference.Id = 1; 

    reference2.Name = "Josh"; 
    reference2.Relationship = "Hansen"; 
    reference2.Id = 2; 

    references.Add(reference); 
    references.Add(reference2); 

    if (references == null) throw new HttpResponseException(HttpStatusCode.NotFound); 

    return Request.CreateResponse<IEnumerable<WebReference>>(HttpStatusCode.OK, references); 
    } 

    public HttpResponseMessage Post([FromBody]WebReference[] references) 
    { 
    try 
    { 
     var msg = new HttpResponseMessage(HttpStatusCode.Created); 
     return msg; 
    } 
    catch (Exception e) 
    { 
     throw new HttpResponseException(HttpStatusCode.Conflict); 
    } 
    } 
} 

}

답변

0
referenceService.query().$promise.then(function (result) { 
    $scope.referenceArray = result; 

app.directive('referenceSection', function() { 
return { 
    restrict: 'E', 
    templateUrl: '/app/loanapplication/views/reference-section.html', 
    controller: function ($scope, referenceService) { 
    $scope.json = angular.toJson($scope.referenceArray); 
    $scope.referenceArray = []; 

    referenceService.query().$promise.then(function (result) { 
     $scope.referenceArray = result; 
     }, function() { 
     alert("fail"); 
    }); 

    $scope.saveTest = function() { 
     referenceService.save(angular.toJson($scope.referenceArray)).$promise.then(function (result) { 
     var x = result; 
     }, function() { 
     alert("save fail"); 
    }); 
    } 
} 
}; 
}); 

, 당신은 바운드로 만든 변경 사항의 각도 알려 $scope.$apply()를 호출해야 . 너의 질문을 정확하게 짐작하면.

:-)

0

어디에서 응답을 읽고 있습니까? 그 밖에 다음 기능을 사용할 수 없습니다하거나 referenceArray

referenceService.save(angular.toJson($scope.referenceArray)).$promise 
.then(function (result) { 
    var x = result; 
}, function() { 
    alert("save fail"); 
}); 
+0

내가 디버깅에 첨부하고 "VAR X = 결과"에 중단하지 않는 실수 x를의 '결과'변수는 원래 GET의 배열을 포함에서 – Ricka

+0

어떤 서버가 반환합니까, XHR 응답에서 본문에 무엇이 있는지 확인할 수 있습니까? –

관련 문제