首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用角$http服务从返回的JSON对象中获取Odata链接

如何使用角$http服务从返回的JSON对象中获取Odata链接
EN

Stack Overflow用户
提问于 2015-05-04 17:23:55
回答 5查看 15.4K关注 0票数 8

我已经为我的web实现了Odata查询语法。我能够成功地返回最初的10项结果和进一步结果的链接。但是,我无法从服务器使用angularjs前端返回的JSON对象中提取此链接。

假设服务器响应如下:

代码语言:javascript
代码运行次数:0
运行
复制
{
  "odata.metadata":"http://localhost:60497/odata/$metadata#tables","value":[
    {
      "id":001,"name":"abc"
    },{
      "id":002,"name":"pqr"
    },{
      "id":003,"name":"xyz"
    },{
      .
      .
      .
  ],"odata.nextLink":"http://localhost:60497/odata/tables?$skip=10"
}

现在,我使用$http的成功方法显示数据,方法是将返回的数据赋值给变量并使用ng-重复。我现将其分配如下:

代码语言:javascript
代码运行次数:0
运行
复制
.success(function(data)){
  $scope.foo = data.value;
}

但是,当我尝试使用以下方法访问下一个链接时:

代码语言:javascript
代码运行次数:0
运行
复制
$scope.link = data.odata.nextLink;

在成功的方法中,它给了我一个错误。我在这漏掉了什么?否则我如何访问返回的链接?是否有其他实现服务器端分页的方法?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-06-25 13:49:26

我也有同样的问题,或多或少。我想这与JavaScript对象以及如何引用它们的属性有关。参考文献

代码语言:javascript
代码运行次数:0
运行
复制
data.odata.nextLink

将意味着有一个属性"odata“,其子属性/字段为"nextLink”。情况并非如此,"odata.nextLink“是属性的名称。我不知道为什么OData是这样的。

通过使用字符串引用获得该属性的内容,即

代码语言:javascript
代码运行次数:0
运行
复制
data['odata.nextLink']

不知道是否有什么缺点,但似乎有效.

票数 11
EN

Stack Overflow用户

发布于 2017-03-24 15:31:28

代码语言:javascript
代码运行次数:0
运行
复制
    using Newtonsoft.Json;     
    [JsonProperty("@odata.nextLink")]
    public string nextPage { get; set; }
票数 3
EN

Stack Overflow用户

发布于 2019-08-12 22:57:09

我用的是

代码语言:javascript
代码运行次数:0
运行
复制
theReturnedObject['@odata.nextLink']
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30036124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档