ReferenceError: _spPageContextInfo 未定义

Ruc*_*chi 1 javascript ajax angularjs sharepoint-2013

我的 js 文件中有以下代码:

var configNews = {
    url:_spPageContextInfo.webAbsoluteUrl,
    newsLibrary: 'DEMONews',
    listId: ''
};

// Getting the ListID
$.ajax({
    url: configNews.url + "/_api/web/lists/getbytitle('" + configNews.newsLibrary + "')?$select=Id",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
        // Returning the results
        configNews.listId = data.d.Id;
    },
    error: function (data) {
        alert(data);
    }
});
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:ReferenceError: _spPageContextInfo is not defined 我不知道我错在哪里以及如何消除这个错误

vbi*_*nko 6

代码是正确的。但是不要在页面加载之前尝试运行它。_spPageContextInfo 在正文部分的某处定义。所以,它在头部部分不可用。

试着在 DOM 上运行你的代码,或者把它放在页面的末尾。


小智 5

由于它是共享点代码,请尝试运行:

SP.SOD.executeFunc("SP.js","ClientContext",functionName)
Run Code Online (Sandbox Code Playgroud)

这可确保加载包含指定函数 (ClientContext) 的指定文件 (sp.js),然后运行指定的回调函数名称。

SharePoints _spPageContextInfo在自动初始化之前意识到正在使用