如何在共享点应用程序中使用 _spPageContextInfo

我正在使用 JavaScript 开发 SharePoint RESTful API。使用 _spPageContextInfo 时它不起作用。

错误:未捕获的 ReferenceError:_spPageContextInfo 未定义

这是我使用的代码

<html xmlns="http://www.w3.org/1999/xhtml">
<script src="../Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $.getJSON(_spPageContextInfo.webServerRelativeUrl + "/_api/web/currentuser",
            function (data) {
                $("#message").text('hello' + data.d.Title);
            });
    });
</script>

...

stack overflow How to use _spPageContextInfo in sharepoint Application
原文答案

答案:

作者头像

您可能可以使用如下。

让当前用户登录::

<script type="text/javascript">
var userid;
try{
$(document).ready(function () {
//This will give the 'userId' by which we can get the user's info from the url as /_api/web/getuserbyid(userid)
userid = _spPageContextInfo.userId;
var siteurl = _spPageContextInfo.webAbsoluteUrl;
var urlUser = siteurl + "/_api/web/getuserbyid(" +userid+")";
$.ajax({
url : urlUser,
contentType : "application/json;odata=verbose",
headers : { "accept" : "application/json;odata=verbose" },
success : onsuccess,
error : onerror
});
});
}
catch(ex){alert(ex);}

function onsuccess(data, textStatus, jqXHR){
alert(data.d.Title);
alert(data.d.LoginName);
alert(data.d.Email);
alert(data.d.IsSiteAdmin);
}

function onerror(errorMessage){
alert(JSON.stringify(errorMessage));
}