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