Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2019, 18:03
Интересующийся
Отправить личное сообщение для l_mke Посмотреть профиль Найти все сообщения от l_mke
 
Регистрация: 30.06.2019
Сообщений: 18

Проблемы с for
Доброго времени суток!

Помогите разобраться, накатал такой скрипт, он подключается к гугл.таблицам и тащит от туда информацию.

При переборе массива данных в for в функции showGoods возникает ошибка, "Cannot read property 'length' of undefined", в чем может быть проблема?

window.addEventListener('load',function () {
	//Послать запрос
	let getJSON = function(url,callback) {
		let xhr = new XMLHttpRequest();
		xhr.open('GET',url,true);
		xhr.responseType = 'json';
		xhr.onload = function() {
			let status = xhr.status;
			if (status === 200) {
				callback(null,xhr.response)
			}else{
				callback(status,xhr.response);
			}
		};
		xhr.send();
	}
	getJSON('https://spreadsheets.google.com/feeds/list/1mR7U2IxFF9ZHL0DKmZdmA4QQKW9P816DM_MuA3LkOho/od6/public/values?alt=json',function(err,data) {
		if (err !== null) {
			console.log('Error: '+err)
		}else{
			data = data['feed']['entry'];
			document.getElementsByTagName('table').innerHTML = showGoods(data);
			console.log(showGoods())
		}
	});
	function showGoods(data) {
		let table = document.getElementsByTagName('tbody')[0];
		let tableAtr = table.getAttribute('data-category');
		let out = '';
		for(var i = 0; i < data.length; i++) {
			if (data[i]['gsx$category']['$t'] === tableAtr) {
				out += `<tr>`
				out += `<td>${data[i]['gsx$name']['$t']}</td> `
				out += `<td>${data[i]['gsx$sort']['$t']}</td> `
				out += `<td>${data[i]['gsx$opt']['$t']}</td> `
				out += `<td><span>0</span></td> `
				out += `<td>
							<span>
								<span>итог: </span>
								<span class="result">0.00</span> руб.
							</span>
							<button class="buy">В корзину</button>
						</td> `
				out += `</tr>`
			}
		}
		return out;
	}
});
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2019, 18:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

l_mke,
строка 23 ?
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2019, 18:45
Интересующийся
Отправить личное сообщение для l_mke Посмотреть профиль Найти все сообщения от l_mke
 
Регистрация: 30.06.2019
Сообщений: 18

Ну это я смотрел что функция покажет, так я и выяснил где ошибка
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2019, 19:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от l_mke
Ну это я смотрел что функция покажет
почему функция без данных?
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2019, 19:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

l_mke,
и может для начала выяснить что в data?
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2019, 19:16
Интересующийся
Отправить личное сообщение для l_mke Посмотреть профиль Найти все сообщения от l_mke
 
Регистрация: 30.06.2019
Сообщений: 18

Понял, консолил не правильно, в data лежит масив с данными.
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2019, 19:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

l_mke,
data = data['feed']['entry'];
			document.getElementsByTagName('table')[0].innerHTML = showGoods(data);
			console.log(showGoods(data))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы со слайдером. Shupamen Работа 1 15.12.2013 00:12
проблемы с PagingToolbar serg3091 ExtJS 4 26.06.2013 09:33
Проблемы при установке модулей node.js tadjik1 AJAX и COMET 1 18.03.2012 02:20
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47