我在我的服务器上使用.Net Framework和WebApi,在我的客户端上使用Javascript / AngularJs。我想将带引用的树转移到我的客户端。我找到了一种方法将它送到客户端,我只是在Newtonsoft Json设置了PreserveReferencesHandling.Objects。
杰森看起来像这样:{
"$id": "1",
"id": 1,
"revisionNumber": 0,
"name": "Revision 0",
"parentRevisionNode": null,
"nextRevisionNode": null,
"prevRevisionNode": null,
"childRevisionNodes": [
{
"$id": "2",
"id": 2,
"revisionNumber": 0,
"name": "Node 1",
"parentRevisionNode": {
"$ref": "1"
},
"nextRevisionNode": null,
"prevRevisionNode": null,
"childRevisionNodes": [
{
"$id": "3",
"id": 3,
"revisionNumber": 0,
"name": "Node 1.1",
"parentRevisionNode": {
"$ref": "2"
},
"nextRevisionNode": null,
"prevRevisionNode": null,
"childRevisionNodes": null,
"data": {
"$id": "4",
"id": 3,
"revisionNumber": 0,
"text": "Data 1.1",
"parentRevisionNode": {
"$ref": "3"
},
"nextRevisionNode": null
}
},
{
"$id": "5",
"id": 4,
"revisionNumber": 0,
"name": "Node 1.2",
"parentRevisionNode": {
"$ref": "2"
},
"nextRevisionNode": null,
"prevRevisionNode": null,
"childRevisionNodes": null,
"data": {
"$id": "6",
"id": 4,
"revisionNumber": 0,
"text": "Data 1.2",
"parentRevisionNode": {
"$ref": "5"
},
"nextRevisionNode": null
}
}
],
"data": {
"$id": "7",
"id": 2,
"revisionNumber": 0,
"text": "Data 1",
"parentRevisionNode": {
"$ref": "2"
},
"nextRevisionNode": null
}
}
],
"data": {
"$id": "8",
"id": 1,
"revisionNumber": 0,
"text": "Data 0",
"parentRevisionNode": {
"$ref": "1"
},
"nextRevisionNode": null
}
}
我找到了一个用Object替换$ id和$ ref的函数。这很好。
现在我希望将对象树返回到服务器。但是我在JS Side圈出引用时遇到错误。然后我想我可以用同样的方式回来,用$ id和$ ref转换对象引用。
但Angulars $资源削减了所有$属性......
任何人都知道如何从/向服务器来回获取数据?
提前致谢
Greeetings
Ronny Gerndt