Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2013, 17:10
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

JSON и его сразу в скрипт!
$category_get_json = json_encode($category_get_res,JSON_UNESCAPED_UNICODE);

выдает функция

<script>
var category =[];
category = <?echo category_get();?>;
console.log(category.length);
for (var i=0;i<=category.length;i++){
	console.log(i+"="+category[i].name);
}
</script>


Выводит в лог с ошибкой TypeError: category[i] is undefined
как подправить?
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2013, 17:16
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

вы пытаетесь итерировать объект а не массив, ибо json_encode возвращает объект JSON а не массив JavaScript
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2013, 17:18
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

devote,
var category = new Object();

тоже не помогает
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2013, 17:21
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от KupueIIIKo
тоже не помогает
и не поможет, кто вам сказал что объявление переменной нужного типа, вдруг PHP вернет в том что вы описали в JS

Писать надо так:
var category = <?echo category_get();?>;

for (var key in category) {
    console.log(key + "=" + category[key].name);
}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 03.02.2013, 18:54
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

devote,
ну пишу
var input_li = $("<li>",{
		text: category[key].name
	});
	$("#menu_tabs ul").append(input_li);

реакции ноль!
Ответить с цитированием
  #6 (permalink)  
Старый 03.02.2013, 21:46
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Есть другие варианты решений? Чтоб я его переменную мог юзать полноценно!
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2013, 23:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А что дает эта строка <?echo category_get();?> после отработки php-сценария?
Ответить с цитированием
  #8 (permalink)  
Старый 03.02.2013, 23:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от KupueIIIKo
Есть другие варианты решений? Чтоб я его переменную мог юзать полноценно!
Все вам варианты подавай )) По вашему все должны гадать что же у вас там происходит и давать варианты для 100500 случаев ???
Ответить с цитированием
  #9 (permalink)  
Старый 04.02.2013, 08:44
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Я выдергиваю с базы данных таблицу с полями id и name) Ассоциативный массив)
Ответить с цитированием
  #10 (permalink)  
Старый 04.02.2013, 08:45
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

function category_get(){
	global $mc;
	global $ms;
	if(!$category_get_json = $mc->get('category')){
		try {
			$category_get_sql = "SELECT * FROM category";
			$category_get_sth = $ms->prepare($category_get_sql);
			$category_get_sth->execute();
			$category_get_res=$category_get_sth->fetchall((PDO::FETCH_ASSOC));
		}catch (Exception $e) {echo $e->getMessage();}	
		$category_get_json = json_encode($category_get_res,JSON_UNESCAPED_UNICODE);
		$mc->set('category',$category_get_json , false, 60);
	}
	return $category_get_json;
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с JSON форматом :( vuler Общие вопросы Javascript 4 22.03.2012 00:22
Не работает скрипт в дальней директории Raonde Общие вопросы Javascript 3 30.01.2012 09:15
Я написал полезный скрипт куда его выложить? Livaanderiamarum Общие вопросы Javascript 1 07.01.2012 17:37
скрипт работает только в IE, а в остальных браузерах нет. melodicman Firefox/Mozilla 0 23.06.2010 15:18
Помогите оптимизировать скрипт смены изображений с анимацией Khmelevsky Элементы интерфейса 5 06.03.2010 19:02