angularjs 参考错误:未定义_spPageContextInfo

eulz3vhy  于 2022-10-31  发布在  Angular
关注(0)|答案(3)|浏览(241)

下面的代码是在我的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);
    }
});

但我得到以下错误:参考错误:_spPageContextInfo未定义我不知道哪里出错以及如何删除此错误

idfiyjo8

idfiyjo81#

代码是正确的。但是在页面加载之前不要尝试运行它。_spPageContextInfo在body部分的某个地方被定义了。因此,它在head部分不可用。
只需尝试在DOM上运行代码,或者将其放在页面的末尾。

aij0ehis

aij0ehis2#

因为它是一个sharepoint代码,请尝试运行此代码:

SP.SOD.executeFunc("SP.js","ClientContext",functionName)

这可确保加载包含指定函数(ClientContext)的指定文件(sp.js),然后运行指定的回调函数名称。
SharePoints _spPageContextInfo自动初始化之前,应意识到它正在被使用

r9f1avp5

r9f1avp53#

我得到了同样的错误,_spPageContextInfo没有定义。我已经花了3天多的时间在这个问题上。最后得到了解决,请确保从您的现代脚本编辑器,“启用经典_spPageContextInfo”是启用的
请参阅下图,以找到启用此选项的位置。
请在此处找到此图像以启用classic _spPageContextInfo:
如何启用classic _spPageContextInfo

相关问题