Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2011, 22:47
Аватар для Tmin10
Кандидат Javascript-наук
Отправить личное сообщение для Tmin10 Посмотреть профиль Найти все сообщения от Tmin10
 
Регистрация: 13.05.2011
Сообщений: 104

Получение JSON
Пытаясь получить данные из JSON:
$("#head").click(function(){
				$.getJSON("json.js", function(json){
  alert("JSON Data: " + json);
});
});

в файле: ["жо",["жорж санд","жорж","жо","жозе моуринью","жорик вартанов","жостово","жозе моуриньо","жожоба","жокей","ж вта газета"]]
Но ничего не получается, что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2011, 09:14
Новичок на форуме
Отправить личное сообщение для Djeman Посмотреть профиль Найти все сообщения от Djeman
 
Регистрация: 07.03.2011
Сообщений: 9

alert("JSON Data: " + json);

json - это объект. Нужно указывать, какой именно элемент объекта вывести. К примеру, json.element1
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2011, 10:18
Аватар для Tmin10
Кандидат Javascript-наук
Отправить личное сообщение для Tmin10 Посмотреть профиль Найти все сообщения от Tmin10
 
Регистрация: 13.05.2011
Сообщений: 104

Прсто для проверки оставил так:
$("#head").click(function(){
					$.getJSON("json.js", function(json){
						alert("JSON Data: ");
					});
				});

При клике ничего не появляется.
Ответить с цитированием
  #4 (permalink)  
Старый 15.05.2011, 17:06
Аватар для Tmin10
Кандидат Javascript-наук
Отправить личное сообщение для Tmin10 Посмотреть профиль Найти все сообщения от Tmin10
 
Регистрация: 13.05.2011
Сообщений: 104

Что в данном коде не так, писал по мануалу?

Нашёл вот что: когда в качестве callback стоит функция function(data) {} она не отрабатывает, а когда просто alert(""), то всё нормально.

Последний раз редактировалось Tmin10, 15.05.2011 в 17:49.
Ответить с цитированием
  #5 (permalink)  
Старый 15.05.2011, 22:05
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Возможно (а даже скорее всего), формат возвращаемых данных неправильный. У формата JSON есть определенные требования.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #6 (permalink)  
Старый 15.05.2011, 22:35
Аватар для Tmin10
Кандидат Javascript-наук
Отправить личное сообщение для Tmin10 Посмотреть профиль Найти все сообщения от Tmin10
 
Регистрация: 13.05.2011
Сообщений: 104

Проверял валидатором, всё отлично, данные выдаёт гуголь- он то не ошибается.
Ответить с цитированием
  #7 (permalink)  
Старый 15.05.2011, 22:51
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

А если использовать не getJSON, а, скажем, просто ajax? Тогда результат имеется?
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #8 (permalink)  
Старый 16.05.2011, 07:52
Аватар для Tmin10
Кандидат Javascript-наук
Отправить личное сообщение для Tmin10 Посмотреть профиль Найти все сообщения от Tmin10
 
Регистрация: 13.05.2011
Сообщений: 104

Вообще не работает...
Вот код:
$("#head").click(function(){
				$.ajax({
					url: "json.js",
					dataType : "json",				
					success: function (data) { 
					alert("tfdf")//data.geo.lat);					
					}
});

			});

Файл находится в той же папке, в нём:
{"geo":{"lat":"123","lon":"321"}}
Ответить с цитированием
  #9 (permalink)  
Старый 16.05.2011, 11:26
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Воспользуйтесь callback функцией error, может она скажет вам в чем ошибка:
error: function(jqXHR, textStatus, errorThrown) {
     alert(textStatus);
}


И вообще, а почему вы к JS файлу обращаетесь ? вы должны к скрипту который обрабатывается серверным языком (PHP к примеру). В этом и ошибка по моему.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #10 (permalink)  
Старый 16.05.2011, 20:25
Аватар для Tmin10
Кандидат Javascript-наук
Отправить личное сообщение для Tmin10 Посмотреть профиль Найти все сообщения от Tmin10
 
Регистрация: 13.05.2011
Сообщений: 104

Ну это просто файл с текстом, думаю расширение неважно, да и сервер на запрос отдаёт именно text/javascript
error сейчас попробую.


Вроде нашёл причину ошибки и устранил, кажется проблемы с синтаксисом.
Теперь осталось обмануть гуголь и заставить отдать его мне результаты запроса, так как судя по фаербагу гуголь отдаёт пустой файл на запрос. Странно, любому браузеру на http://clients1.google.ru/complete/s...era&q=%E0&cp=1 отдаёт JSON, а скрипту нет...
Кстати, если в JSON объекте находится массив
["а",["анекдоты","авито","аэрофлот","авто ру","афиша","авто","афоризмы","авианова","альфа банк","акинатор"]]

как получить из него
["анекдоты","авито","аэрофлот","авто ру","афиша","авто","афоризмы","авианова","альфа банк","акинатор"]

?

Последний раз редактировалось Tmin10, 16.05.2011 в 21:03.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача JSON на сервер mikeles AJAX и COMET 0 04.03.2011 11:28
Очень нужно.. Отправка HTML куски в JSON от сервера используя Ajax bivnikus jQuery 8 26.10.2010 23:54
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10
не работает JSON в JQuery 1.4.1 mcpro jQuery 7 22.03.2010 17:56
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36