2016-05-17 73 views
0

我用下面的代码在Nintex形式在SharePoint 2013获得当前用户的详细信息,如何获得当前用户的详细信息#JSOM,#O365,#jQuery,#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 Online网站URL- “https://abc.sharepoint.com/dev

  2. 的URL时,Nintex形式是开启─ “https://abc-1d0266265ca24d.sharepoint.com/dev/ ...”

这些代码工作,对内部部署的SharePoint 2013 NINTEX形式。 (它不重定向到表单时打开App网站)

回答

0

尝试样品1没有在第一行FromLoad后的括号:

SP.SOD.executeOrDelayUntilScriptLoaded(FormLoad, 'SP.js'); 
+0

然后,它甚至没有来到FormLoad()功能 –

相关问题