Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получение JSON (https://javascript.ru/forum/jquery/17308-poluchenie-json.html)

Tmin10 16.05.2011 21:14

Вот ещё: этот код ошибок не вызывает, обращается на сервер, но получает пустой ответ, если смотреть в фаербаге:
$.ajax({
					url: "http://tmin10.net.ru/search.js",//json.js",
					dataType : "json",				
					//error: function(jqXHR, textStatus, errorThrown) {alert(textStatus);},
					success: function (data) { 
					alert("tre");//data.geo.lat);				
					}
				});


error показывает error

walik 16.05.2011 21:48

json.a;

monolithed 16.05.2011 21:52

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

сами догадаетесь почему?

Tmin10 16.05.2011 22:03

Цитата:

Сообщение от monolithed (Сообщение 105001)
формат данных неправильный:
["а",["анекдоты","авито","аэрофлот","авто ру","афиша","авто","афоризмы","авианова","альфа банк","акинатор"]]

сами догадаетесь почему?

Гуглу веры нет, понимаю, может валидатору стоит поверить?
http://www.jsonlint.com/
Это просто массив без ключей сразу со значениями

Цитата:

Сообщение от walik (Сообщение 105000)
json.a;

а это же не ключ, а просто элемент массива...

monolithed 16.05.2011 22:15

Цитата:

Сообщение от Tmin10
Гуглу веры нет, понимаю, может валидатору стоит поверить?

верить нужно в первую очередь себе.
еще раз повторяю - обратите внимание на на скобки:
*!*{*/!*
'foo', {
     'bar' : [..]
   }
*!*}*/!*

Tmin10 16.05.2011 22:18

Но если гуголь отдаёт именно это?

walik 16.05.2011 22:27

var response = '["а",["анекдоты","авито"]]';
var arr = eval(response);
alert(arr[0]);

Tmin10 16.05.2011 22:31

Цитата:

Сообщение от walik (Сообщение 105010)
var response = '["а",["анекдоты","авито"]]';
var arr = eval(response);
alert(arr[0]);

Отлично, на выходе массив, осталось положит в response информацию с сервера...

Tmin10 16.05.2011 22:56

Эта штука издевается:
$.ajax({
					url: "http://tmin10.net.ru/search.js",
					dataTypeString: "text",
					success: function(data){
						//alert(data)
					alert("OK");
					}
				
				});

И всё равно callback не запускается...
Проверил с помошбю проксика: на сервер уходит запрос, с сервера приходит ответ, а ajax ошибается и ничего не выдаёт...

monolithed 16.05.2011 23:20

ну или более извращенный вариант если все-таки нужен объект JSON:
var obj = {
    *!*
    foo : [{
        'a' : 1,
        'b' : 2
    }]
*/!*
};
 
var json = JSON.parse(JSON.stringify(obj)) ;

alert('a : '+json.foo[0].a+'\nb : '+json.foo[0].b);


Часовой пояс GMT +3, время: 21:32.