一张 Datatables.net 表,包含来自 Sharepoint 2010 REST API 的多个 ajax 调用

2023-12-02

我是新来的,所以请提前原谅我这个冗长的问题。我是 SP2010 的新手,到目前为止,按照以下教程对我的 SP 列表进行 JQuery Ajax 调用:谁需要数据视图 Web 部件? SharePoint REST 和 DataTables.net

我(和每个人)的问题是,SP2010 listdata.svc 仅返回 JSON 中的前 1000 个条目。然而,教程建议使用一种预过滤方法,仅调用用户需要的数据,在我的例子中,我想将所有 200 多个条目加载到表中,然后让用户选择/过滤他/她要。

我成功地进行了两个 Ajax 调用(一个包含前 1000 个条目,另一个包含其余 2000 个以上的条目 - 用于测试,以便于查看其中哪些进入表中),并且在调试器中,两个 GET 请求都会发出并返回状态 200-OK 和数据,但只有其中一个被加载到表中。

问题:在传递到数据表之前是否有任何方法可以组合返回的 jqXHR 响应,或者是否有任何设置,在表初始化后,第二个数据不会覆盖第一个数据?我知道,对于大多数人来说,多个 ajax 调用是“不行”的,但就我而言,由于服务器的速度和表的使用频率,这不是问题,但到目前为止我找到了解决方案多次调用填充多个表的主题。

到目前为止我的代码:

<script type="text/javascript">
function LoadData()
{
var call = $.ajax({
            url: "https://SP2010_siteaddress.com/site/_vti_bin/listdata.svc/Listname?$select=Data1,Data2,Data3,Data4,Data5",
           type: "GET",
           dataType: "json",
           headers: {
                Accept: "application/json;odata=verbose"
            }       
        });
		
var call2 = $.ajax({
            url: "https://SP2010_siteaddress.com/site/_vti_bin/listdata.svc/Listname?$select=Data1,Data2,Data3,Data4,Data5&$skiptoken=2000",
            type: "GET",
            dataType: "json",
            headers: {
                Accept: "application/json;odata=verbose"
            }       
        });
		
 (call, call2).done(function (data,textStatus, jqXHR){
            	$('#example')
					.on('xhr.dt', function ( e, settings, json ) {
					for ( var i=0, ien=json.aaData.length ; i<ien ; i++ ) {
					json.aaData[i].sum = json.aaData[i].one + json.aaData[i].two;
					}
					// Note no return - manipulate the data directly in the JSON object.
					} )
				.dataTable({
					ajax: "data.json",
                       	"bServerside" : true,
						"bProcessing": false,
						"aaData": data.d.results,
						"aoColumns": [
							{ "mData": "Data1" },
							{ "mData": "Data2" },
							{ "mData": "Data3" },
							{ "mData": "Data4" },
							{ "mData": "Data5" }
							],
							"bRetrieve": true,
				//	"initComplete": function(settings, json) {
				//	alert( 'DataTables has finished its initialisation.' );
				//			}
							});

			call.fail(function (jqXHR,textStatus,errorThrown){
            alert("Error retrieving Tasks: " + jqXHR.responseText);

});
});
}
</script>

预先感谢您提供有关如何解决此问题的任何建议。


如果您无法避免以下限制1000记录每个 Ajax 调用,您可以使用下面的代码。

It uses $.when当两个 Ajax 调用成功时执行回调。

function LoadData()
{
   var call1 = $.ajax({
      url: "https://SP2010_siteaddress.com/site/_vti_bin/listdata.svc/Listname?$select=Data1,Data2,Data3,Data4,Data5",
      type: "GET",
      dataType: "json",
      headers: {
         Accept: "application/json;odata=verbose"
      }       
   });

   var call2 = $.ajax({
      url: "https://SP2010_siteaddress.com/site/_vti_bin/listdata.svc/Listname?$select=Data1,Data2,Data3,Data4,Data5&$skiptoken=2000",
      type: "GET",
      dataType: "json",
      headers: {
         Accept: "application/json;odata=verbose"
      }       
   });

   // When both Ajax requests were successful
   $.when(call1, call2).done(function(a1, a2){
      // a1 and a2 are arguments resolved for the call1 and call2 ajax requests, respectively.
      // Each argument is an array with the following structure: [ data, statusText, jqXHR ]

      // Merge data from two Ajax calls
      var data = a1[0].d.results.concat(a2[0].d.results);

      $('#example').dataTable({
         "aaData": data,
         "aoColumns": [
            { "mData": "Data1" },
            { "mData": "Data2" },
            { "mData": "Data3" },
            { "mData": "Data4" },
            { "mData": "Data5" }
         ]
      });
   });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一张 Datatables.net 表,包含来自 Sharepoint 2010 REST API 的多个 ajax 调用 的相关文章

随机推荐

  • 通过 VSTS CI/CD 升级 Azure Service Fabric 时出错

    我正在使用 VSTS 来设置 CI CD 以进行服务结构构建和部署 第一次部署没有错误 但第二次更新部署给出了以下错误 ConfigPackage中的内容名称 Config 版本 1 0 0 20180312 1 服务清单中的 Sample
  • 苹果手表上的图像

    昨天我的申请被拒绝时遇到了一个问题 显然 这些图像并未显示在实际的 Apple Watch 上 但它们显示在模拟器中 我什至尝试重置模拟器 但无法复制苹果员工发生的问题 所以我只是想知道在苹果手表上添加 显示图像的正确方法是什么 这样它们才
  • spring jpa hibernate 具有更多数据源

    我必须在我的应用程序 spring 中使用两个不同的数据库和 Hibernate Jpa 我想直接为不同的数据源定义不同的表 所以我使用两个不同的持久性单元并尝试使用
  • OpenTsdb:度量和标签信息中是否允许空格字符

    我正在使用 openTsdb 并遇到了度量 标记 tagk 甚至值 tagv 中不允许空格字符的问题 有什么方法可以至少在标签的值中添加空格吗 我还提到 http opentsdb net docs build html user guid
  • Angular 通用服务器端渲染、元标签

    我将网站移至 Angular 通用 SSR 在我搬家的过程中 我遇到了一些问题 我认为 ng universal 可以解决这些问题 我想添加元标记 例如描述 关键字等 每个页面不同 使用titleService正如 Angular 所建议的
  • Unity3d - eulerAngles(本地和全局)与检查器中的完全不同

    在游戏对象的检查器中 我使用的起始旋转是 90 但是当我运行时print transform eulerAngles x 我得到 270 同上transform localEulerAngles x 如果我倾斜gameObject向下 检查
  • Hibernate 创建冗余的多对多表

    在开发 Spring Boot 应用程序时 我必须删除数据库并让 Hibernate 再次生成它hibernate hbm2ddl auto update 之后 我想确保它按照我想要的方式执行所有操作 因此我调用 MySQL Workben
  • 从 url 加载图像

    我有一个图像网址 我想在 ImageView 中显示此 URL 中的图像 但我无法做到这一点 如何才能实现这一目标 如果您根据按钮单击加载图像 则上面接受的答案非常好 但是如果您在新活动中执行此操作 它会使 UI 冻结一两秒 环顾四周 我发
  • 单击后如何关闭此菜单

    我正在尝试定制这个菜单 这是 html 标记 ul class topnav li a href home Home a li li a href news News a li li a href contact Contact a li
  • 通过 multipart-HTML-Post 上传 pdf 确实会更改文件

    我尝试使用以下代码通过 vba 的多部分上传 pdf Public Function sap upload ByVal par objectID As String ByVal par description As String ByVal
  • 使用 Systemjs-builder 为 Angular2 应用程序创建多个包

    我有一个可用的 Angular2 应用程序 其结构如下 app components moduleA moduleB shared app module ts app routing ts app component ts main ts
  • 线程和同步方法

    我有以下代码 public class MyThread extends Thread private int i public static int sum 0 public MyThread int k i k public stati
  • 如何使用 XSLT 更新 XML 中的单个值?

    我有一个巨大的 XML 文件 我想在其中更新单个值 有没有一种方法可以编写 XSLT 文件 只需进行简单的更改即可生成现有 XML 文件的精确副本 例如 假设我有以下 XML 并且我想将员工 Martin 的职位编号更改为 100 我该如何
  • 单击按钮时翻转 div 的内容

    我正在学习翻转 div 内容的 3D 效果 悬停时 下面的 div 代码可以完美运行 但我想要的是 如果有人只点击按钮翻转 那么 div 的翻转应该可以工作 我只需要单击按钮时才需要这种翻转效果 而不是悬停或其他任何东西
  • EJB 应用程序中的 CORBA 异常

    我遇到了 EJB Glassfish 的问题 我正在开发一个客户端 服务器应用程序 其中客户端创建一个实体对象 并且必须将其发送到服务器应用程序 服务器应用程序必须将该实体保留在其数据库中 我选择使用会话 bean 与服务器进行通信 我已经
  • 通过 cron 执行 PHP - 未指定输入文件

    我使用以下命令通过 cron 执行 PHP 文件 php q home seilings public html dvd cron mailer php 问题是我有一个包含在执行中的文件 该文件确定要加载哪个配置 如下所示 if strst
  • 如何从 Python 内部在 Mac OS X 中截取屏幕截图:又名 Command-Control-Shift-4

    使用 Command Control Shift 4 可以截取屏幕截图区域 然后将其保存到剪贴板 我想知道 Python 内部是否也可以实现同样的功能 理想情况下 可以在 Python 中以编程方式指定图像文件格式以及保存位置 有任何想法吗
  • 如何在不使用控制器基类的情况下为所有视图设置 ViewBag 属性?

    过去 我通过让所有控制器继承自公共基础控制器 以全局方式将常见属性 例如当前用户 粘贴到 ViewData ViewBag 上 这允许我在基本控制器上使用 IoC 而不仅仅是访问此类数据的全局共享 我想知道是否有其他方法可以将此类代码插入到
  • 为什么从 Web 服务器执行时 Python 环境变量不同?

    我有以下可执行的 python 脚本 usr bin python import os print os environ 当我以 root 身份从命令行执行它时 我得到以下信息 LANG en US UTF 8 TERM xterm 256
  • 一张 Datatables.net 表,包含来自 Sharepoint 2010 REST API 的多个 ajax 调用

    我是新来的 所以请提前原谅我这个冗长的问题 我是 SP2010 的新手 到目前为止 按照以下教程对我的 SP 列表进行 JQuery Ajax 调用 谁需要数据视图 Web 部件 SharePoint REST 和 DataTables n