Me estoy encontrando con un problema interesante que me está dando vueltas. Estoy haciendo una llamada de Sharepoint RestAPI que devuelve los datos correctamente, cuando ejecuto un ciclo for sobre los datos, genera el html pero aún arroja el error que usé como título. El código está debajo. Si registro en la consola cada bucle, devolverá el valor. El HTML también funciona bien. El problema es que sigue apareciendo el error.
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); } }El error es que está tratando de acceder a un índice que no existe en la matriz debido a <= en el ciclo for, intente usar < cuando use .length de una matriz.