javascript - 适用于工作流的 SharePoint JavaScript API 引发错误

标签 javascript sharepoint workflow sharepoint-jsom

我正在尝试访问有关在 SharePoint 列表中运行工作流的信息,但我遇到了工作流服务 JSOM 库的问题。我正在使用工作流服务,就像我能找到的每个示例一样,请参见下面的代码:

var context = SP.ClientContext.get_current();
var web = context.get_web();
var servicesManager = SP.WorkflowServices.WorkflowServicesManager.newObject(context, web);
var instanceService = servicesManager.getWorkflowInstanceService();

执行代码时,上面代码片段的最后一行抛出异常

TypeError: this.get_context is not a function.

最佳答案

可能会发生此错误,因为尚未加载 SharePoint JavaScript 库中的指定文件之一。

  • SP.js
  • SP.Runtime.js
  • SP.WorkflowServices.js

为确保已加载指定文件,您可以考虑以下方法:

SP.SOD.registerSod('SP.ClientContext', SP.Utilities.Utility.getLayoutsPageUrl('sp.js'));
SP.SOD.registerSod('SP.WorkflowServices.WorkflowServicesManager', SP.Utilities.Utility.getLayoutsPageUrl('SP.WorkflowServices.js'));
SP.SOD.loadMultiple(['SP.ClientContext', 'SP.WorkflowServices.WorkflowServicesManager'], function(){

    var ctx = SP.ClientContext.get_current();
    var workflowServicesManager = SP.WorkflowServices.WorkflowServicesManager.newObject(ctx, ctx.get_web()); 
    var workflowSubscriptionService = workflowServicesManager.getWorkflowSubscriptionService();                
    //...    

});

SP.SOD.loadMultiple function is intended for loading on demand scripts which in turn is a part of SharePoint JavaScript Library. Alternatively you could utilize jQuery.getScript() from jQuery library.

关于javascript - 适用于工作流的 SharePoint JavaScript API 引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940364/

相关文章:

javascript - 在android webview中使用angularjs时如何禁用网络安全?

javascript - backbonejs 是否发出 'beforeChange' 事件?

javascript - 确保脚本标签作为正文中的第一个标签包含在内?

git - 如何绘制(可视化)git 工作流程

javascript - 将 JavaScript 弹出窗口转换为警报框

jquery - 使用 jquery 隐藏 sharepoint 中的特定行

sharepoint - 如何从 SharePoint 场中的网站集获取所有 ContentType

javascript - 如何使用 REST for Sharepoint 2013 删除项目

python - App Engine 的工作流程

git - 是否有用于滚动发布 Web 应用程序的 Git 工作流程?