【问题标题】:Angular Resource get int changing to {}Angular Resource get int 更改为 {}
【发布时间】:2015-04-28 20:52:20
【问题描述】:

我正在尝试从我的 API 中获取一个 int,工厂如下:

factory('Rating', ['$resource',
function ($resource) {
    var src = config.getValue("api.rating");
    return $resource(src, {}, {
        get: {
            method: 'GET',
            withCredentials: true,
            isArray: false
        }
    });
}])

我这样称呼它:

$scope.videoRating = Rating.get({ Vid: $scope.video.Id });

但在我的模板中,它被渲染为如下{} api 只是返回一个int

Rating: {{ videoRating }}

我做错了吗?还是不是像返回的int那样有角度?

【问题讨论】:

  • 能否请您提供您的模板的相关sn-p?
  • 不知道这有什么关系,但补充说:
  • 你是说 api 只返回整数作为文本而不是 JSON?如果有,为什么?
  • 因为我的函数是public int Get(string vid)所以我虽然把它转换成JToken是没用的
  • $resource 用于restful服务,你需要返回某种json、atom、xml等。

标签: angularjs ngresource


【解决方案1】:

我认为您无法按照自己的方式获取数据。 $scope.videoRating 将是一个承诺,而不是您期望的某些数据。 这是角度文档中有关 $resource 模块的一些复制粘贴:

var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123})
    .$promise.then(function(user) {
      $scope.user = user;
    });

所以基本上你需要在 promise 解决后将数据分配给 $scope.videoRating。

【讨论】:

  • 仍然给我同样的结果
  • 您能否对您在 then() 回调中收到的数据进行 console.log() 并检查它是否符合您的预期?
猜你喜欢
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
相关资源
最近更新 更多