|
Получение JSON
Пытаясь получить данные из JSON:
$("#head").click(function(){
$.getJSON("json.js", function(json){
alert("JSON Data: " + json);
});
});
в файле: ["жо",["жорж санд","жорж","жо","жозе моуринью","жорик вартанов","жостово","жозе моуриньо","жожоба","жокей","ж вта газета"]] Но ничего не получается, что не так? |
alert("JSON Data: " + json);
json - это объект. Нужно указывать, какой именно элемент объекта вывести. К примеру, json.element1 |
Прсто для проверки оставил так:
$("#head").click(function(){
$.getJSON("json.js", function(json){
alert("JSON Data: ");
});
});
При клике ничего не появляется. |
Что в данном коде не так, писал по мануалу?
Нашёл вот что: когда в качестве callback стоит функция function(data) {} она не отрабатывает, а когда просто alert(""), то всё нормально. |
Возможно (а даже скорее всего), формат возвращаемых данных неправильный. У формата JSON есть определенные требования.
|
Проверял валидатором, всё отлично, данные выдаёт гуголь- он то не ошибается.
|
А если использовать не getJSON, а, скажем, просто ajax? Тогда результат имеется?
|
Вообще не работает...
Вот код:
$("#head").click(function(){
$.ajax({
url: "json.js",
dataType : "json",
success: function (data) {
alert("tfdf")//data.geo.lat);
}
});
});
Файл находится в той же папке, в нём:
{"geo":{"lat":"123","lon":"321"}}
|
Воспользуйтесь callback функцией error, может она скажет вам в чем ошибка:
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
И вообще, а почему вы к JS файлу обращаетесь ? вы должны к скрипту который обрабатывается серверным языком (PHP к примеру). В этом и ошибка по моему. |
Ну это просто файл с текстом, думаю расширение неважно, да и сервер на запрос отдаёт именно text/javascript
error сейчас попробую. Вроде нашёл причину ошибки и устранил, кажется проблемы с синтаксисом. Теперь осталось обмануть гуголь и заставить отдать его мне результаты запроса, так как судя по фаербагу гуголь отдаёт пустой файл на запрос. Странно, любому браузеру на http://clients1.google.ru/complete/s...era&q=%E0&cp=1 отдаёт JSON, а скрипту нет... Кстати, если в JSON объекте находится массив ["а",["анекдоты","авито","аэрофлот","авто ру","афиша","авто","афоризмы","авианова","альфа банк","акинатор"]] как получить из него ["анекдоты","авито","аэрофлот","авто ру","афиша","авто","афоризмы","авианова","альфа банк","акинатор"] ? |
| Часовой пояс GMT +3, время: 05:33. |
|