我的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);
}
});
但是我收到以下错误: ReferenceError:未定义_spPageContextInfo 我不知道我错在哪里以及如何删除此错误
答案 0 :(得分:4)
代码是正确的。但是在页面加载之前不要尝试运行它。 _spPageContextInfo在body部分的某处定义。因此,它在头部没有。
尝试在DOM上运行您的代码,或者将其放在页面的末尾。
答案 1 :(得分:4)
因为它的sharepoint代码尝试运行它:
SP.SOD.executeFunc("SP.js","ClientContext",functionName)
这可确保加载包含指定函数(ClientContext)的指定文件(sp.js),然后运行指定的回调函数名称。
在自动初始化之前意识到SharePoints _spPageContextInfo
正在被使用