Uncaught TypeError: Cannot read properties of undefined (reading 'Hobbies')
Uncaught TypeError: Cannot read properties of undefined (reading 'Hobbies')
我 运行 陷入一个有趣的问题,这个问题让我陷入困境。我正在做一个 Sharepoint RestAPI 调用,returns 数据正确,当我 运行 对数据进行 for 循环时,它构建了 html 但仍然抛出我用作标题的错误.代码如下。如果我控制台记录每个循环,它将 return 该值。 HTML 也可以正常工作。问题是错误仍然出现。
function getSlideData() {
var query = "$expand=AttachmentFiles&$select=Title,Team,State,Location,Hobbies,Favorite,Askme,GreatPlace,imageFact,ImageText,Attachments,AttachmentFiles&$expand=AttachmentFiles&$top=1000&$orderby=Created desc&$filter=Display eq 'Active'";
var svcUrl = SITE_URL + "_api/web/lists/getbytitle('"+LIST_NAME+"')/items?"+query;
var employeeData;
$.ajax({
url: svcUrl,
type: "GET",
headers: { "Accept": "application/json; odata=verbose" },
async: false,
success: function (data) {
employeeData = data.d.results;
},
error: function (xhr) {
alert("Can't get list items.", xhr.status + ": " + xhr.statusText);
}
});
return employeeData;
}
function buildSlides() {
var slideData = getSlideData();
var sliderWrapper = $('#slider-wrapper');
var sliderWrapperContent = "";
for(i=0;i<=slideData.length;i++) {
sliderWrapperContent += '<div><h2>'+slideData[i].Hobbies+'</h2></div>';
sliderWrapper.html(sliderWrapperContent);
}
}
错误是你试图访问数组中不存在的索引,因为for循环中的<=,当你使用数组的.length时尝试使用<。
我 运行 陷入一个有趣的问题,这个问题让我陷入困境。我正在做一个 Sharepoint RestAPI 调用,returns 数据正确,当我 运行 对数据进行 for 循环时,它构建了 html 但仍然抛出我用作标题的错误.代码如下。如果我控制台记录每个循环,它将 return 该值。 HTML 也可以正常工作。问题是错误仍然出现。
function getSlideData() {
var query = "$expand=AttachmentFiles&$select=Title,Team,State,Location,Hobbies,Favorite,Askme,GreatPlace,imageFact,ImageText,Attachments,AttachmentFiles&$expand=AttachmentFiles&$top=1000&$orderby=Created desc&$filter=Display eq 'Active'";
var svcUrl = SITE_URL + "_api/web/lists/getbytitle('"+LIST_NAME+"')/items?"+query;
var employeeData;
$.ajax({
url: svcUrl,
type: "GET",
headers: { "Accept": "application/json; odata=verbose" },
async: false,
success: function (data) {
employeeData = data.d.results;
},
error: function (xhr) {
alert("Can't get list items.", xhr.status + ": " + xhr.statusText);
}
});
return employeeData;
}
function buildSlides() {
var slideData = getSlideData();
var sliderWrapper = $('#slider-wrapper');
var sliderWrapperContent = "";
for(i=0;i<=slideData.length;i++) {
sliderWrapperContent += '<div><h2>'+slideData[i].Hobbies+'</h2></div>';
sliderWrapper.html(sliderWrapperContent);
}
}
错误是你试图访问数组中不存在的索引,因为for循环中的<=,当你使用数组的.length时尝试使用<。