2

我在 SharePoint 2013 上的 Nintex 表单上使用了以下代码来获取当前用户详细信息,

var userid = _spPageContextInfo.userId;
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ");

但它不适用于 O365 Nintex 表单(错误:_spPageContextInfo 未定义)。有没有与这种方法等效的方法?否则获取用户详细信息的最佳方式是什么?我尝试过如下代码,

样品 01:

SP.SOD.executeOrDelayUntilScriptLoaded(FormLoad(), 'SP.js'); 
function FormLoad()
{
     var userId = _spPageContextInfo.userId;  
     console.log("Current User = " + userId); 
}

样品 02:

var pollSP;  
NWF.FormFiller.Events.RegisterAfterReady(function () {  
    pollSP = setInterval(checkSPLoad, 500);  
});  

function checkSPLoad() {  
    if (clientContext) {  
        window.clearInterval(pollSP);  
        onSPLoad();  
    }  
}  

function onSPLoad() {  
    var userId = _spPageContextInfo.userId;  
    console.log("Current User = " + userId);  
}  

笔记:

  1. SharePoint 在线网站 url-“ https://abc.sharepoint.com/dev

  2. 打开 Nintex 表单时的网址 - “ https://abc-1d0266265ca24d.sharepoint.com/dev/ ...”

这些代码适用于本地 SharePoint 2013 NINTEX 表单。(打开表单时它不会重定向到应用程序站点)

4

1 回答 1

0

在第一行的 FromLoad 之后尝试不带括号的示例 1:

SP.SOD.executeOrDelayUntilScriptLoaded(FormLoad, 'SP.js'); 
于 2016-06-13T06:43:49.473 回答