2016-05-17 74 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()功能 –

相關問題