SPServices - 如何获取数据并将其传递给我的自定义网格(jqGrid)

时间:2016-02-01 14:39:12

标签: jquery jqgrid spservices

我的问题是我找不到 ANY 简单示例如何使用SPServices从列表中获取数据。

例如我在

下面有一个列表
http://mysharepoint/sites/mysite/Lists/Experts/AllItems.aspx

确实存在大量列表,但我只想进行测试,例如获取名为 Name Title 的列。

我的特殊要求是什么? 我想获取那些数据并将它们推送到我现场的jqGrid:

http://mysharepoint/sites/mysite/Lists/Experts/FilterTest.aspx

所以我假设我必须在 FilterTest.aspx 上运行SPServices脚本并从 AllItems.aspx 获取数据,但我没有看到任何非常简单且解释良好的教程。

我可以请求你的帮助吗?

我将解析SPServices中的JSON对jqGrid有效,但首先我不知道如何获得这个JSON。

1 个答案:

答案 0 :(得分:0)

您可以首先尝试使用描述here的Ajax请求来获取数据。您只需将headers: {"Accept": "application/json; odata=verbose"}设置为jQuery.ajax的附加参数即可。您可以使用

在jqGrid中执行相同的操作
ajaxGridOptions: { headers: {"Accept": "application/json; odata=verbose"} }

来自ajaxGridOptions的选项将转发到基础Ajax请求。

您可以找到更多详情here。另一种方法是将SOAP请求生成为文本并发送到那里。 SOAP响应是XML数据,jqGrid也可以读取。见the answer。它也可以工作,但使用带有JSON数据的Odata请求更好。一个具有可读URL,您可以在其中放置过滤器,排序标准等。返回的数据是JSON数据,jqGrid可以读取。

我在yourtube上发现了the video,其中包含来自SharePoint Conference 2014的信息。它提供了有关如何以JSON格式从SharePoint服务器获取数据的详细信息。如果您遇到实现问题(读取从SharePoint返回的JSON),您可以提出新问题并包含JSON响应的示例。您可以使用IE / Chrome的Fiddler或开发人员工具来获取准确的HTTP流量。