Javascript Angularjs$resource get/post返回相同结果

Javascript Angularjs$resource get/post返回相同结果,javascript,angularjs,asp.net-web-api,Javascript,Angularjs,Asp.net Web Api,我是个新手,所以我可能做错了。我的查询返回的是一个应该是的对象数组。然后我做了一个点击事件来测试帖子。它很好地命中了我的web api…但是它从我的get返回了相同的数组。我猜这是缓存的?为什么我的帖子会显示我之前得到的结果 编辑-对不起,我本可以说得更清楚。当我运行saveTest方法时,会触发一个post并保存我的数组,但是该save的'result'变量..是原始get中的数组 app.directive('referenceSection', function () { return

我是个新手,所以我可能做错了。我的查询返回的是一个应该是的对象数组。然后我做了一个点击事件来测试帖子。它很好地命中了我的web api…但是它从我的get返回了相同的数组。我猜这是缓存的?为什么我的帖子会显示我之前得到的结果

编辑-对不起,我本可以说得更清楚。当我运行saveTest方法时,会触发一个post并保存我的数组,但是该save的'result'变量..是原始get中的数组

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");
     });
   }
 }
 };
});
服务

app.factory('referenceService', function ($resource) {
 var requestUri = '/api/reference';
 return $resource(requestUri)
});
Web 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);
    }
  }
}
}

在此之后,您需要调用$scope.$apply来通知angular要绑定的更改。如果我猜对了你的问题


:-

从何处阅读响应?从x到then函数外部不可用,或者不将其附加到referenceArray是错误的


当我调试并中断var x=result时,“result”变量包含原始getWhat服务器返回的数组,您能检查XHR响应中的主体内容吗?
 referenceService.query().$promise.then(function (result) {
   $scope.referenceArray = result;
referenceService.save(angular.toJson($scope.referenceArray)).$promise
.then(function (result) {
  var x = result;
}, function () {
  alert("save fail");
});