我已经为我的web实现了Odata查询语法。我能够成功地返回最初的10项结果和进一步结果的链接。但是,我无法从服务器使用angularjs前端返回的JSON对象中提取此链接。
假设服务器响应如下:
{
"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-重复。我现将其分配如下:
.success(function(data)){
$scope.foo = data.value;
}
但是,当我尝试使用以下方法访问下一个链接时:
$scope.link = data.odata.nextLink;
在成功的方法中,它给了我一个错误。我在这漏掉了什么?否则我如何访问返回的链接?是否有其他实现服务器端分页的方法?
发布于 2015-06-25 05:49:26
我也有同样的问题,或多或少。我想这与JavaScript对象以及如何引用它们的属性有关。参考文献
data.odata.nextLink
将意味着有一个属性"odata“,其子属性/字段为"nextLink”。情况并非如此,"odata.nextLink“是属性的名称。我不知道为什么OData是这样的。
通过使用字符串引用获得该属性的内容,即
data['odata.nextLink']
不知道是否有什么缺点,但似乎有效.
发布于 2017-03-24 07:31:28
using Newtonsoft.Json;
[JsonProperty("@odata.nextLink")]
public string nextPage { get; set; }
发布于 2019-08-12 14:57:09
我用的是
theReturnedObject['@odata.nextLink']
https://stackoverflow.com/questions/30036124
复制相似问题