[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема ответа json
maximka787
Ребят, помогите кто может, как прочитать внятный ответ от сервера.
Это php скрипт дает ответ:
[{"type":"ok","id":100,"res":1}]

$.ajax({
type: "POST",
dataType: 'json',
data: "type=" + type + "&id=" + id,
url: "script.php",
success: function (data, textStatus) {

$.each(data, function(i, val) {
alert(val); // вот тут видимо косяк
});
}

Мне надо вытащить отдельно три переменные (type, id, res)



Спустя 1 час, 2 минуты, 22 секунды (24.01.2012 - 11:29) l@pteff написал(а):
maximka787, как обрабатываются данные в script.php?

Спустя 2 минуты, 58 секунд (24.01.2012 - 11:32) maximka787 написал(а):
l@pteff
Вот полный скрипт php:
if(
isset($_POST['type']) && isset($_POST['id'])
{
$responce = array(
'type' => $_POST['type'],
'id' => $_POST['id'],
'res' => 1
);

echo json_encode(array($responce));
}

Тут то проблем нет, скрипт дает нормальнй ответ json. Я не могу потом ответ (массив - data/responce) разложить в jquery на переменные.

Спустя 8 минут, 44 секунды (24.01.2012 - 11:40) redreem написал(а):
$.ajax({
type: "POST",
dataType: 'json',
data: "type=" + type + "&id=" + id,
url: "script.php",
success: function (data, textStatus) {
$.each(data, function(k, v) {
alert(k+'='+v);
});
}
}
);


ну и хидер надо в php кидать:

header('Content-type: text/json');

Спустя 15 минут, 18 секунд (24.01.2012 - 11:56) maximka787 написал(а):
redreem
все верно, так я и делал почти, но выводит один раз
0=[object Object]

Спустя 13 минут, 11 секунд (24.01.2012 - 12:09) redreem написал(а):
alert замени вот на это:

alert('type='+v.type+' '+'id='+v.id);

Спустя 3 минуты, 27 секунд (24.01.2012 - 12:12) redreem написал(а):
или вот:

		success: function (data, textStatus) {
$.each(data, function(k, v) {
$.each(v, function(k, v) {
alert(k+'='+v);
});
});
}

Спустя 21 секунда (24.01.2012 - 12:13) maximka787 написал(а):
redreem
Спасибо, да работает всё)

Спустя 1 минута, 44 секунды (24.01.2012 - 12:14) redreem написал(а):
если по алерту выводится object, то пробуем его перебирать через each и смотрим. если в each лезут опять object, то следующий вложенный each суем. и так до тех пор, пока не увидим чистые данные в алерте.

Спустя 15 минут, 46 секунд (24.01.2012 - 12:30) neadekvat написал(а):
Хм, а я вот для получения ответа в json-формате всегда $.getJSON использовал.

Спустя 4 минуты, 45 секунд (24.01.2012 - 12:35) redreem написал(а):
ну да. это целесообразнее smile.gif
вообще в http://phpforum.ru/index.php?showtopic=0&v...dpost&p=1678952 много ответов на типичные тут вопросы smile.gif непонятно почему сначала не хотят фак почитать.

Спустя 10 минут, 48 секунд (24.01.2012 - 12:46) maximka787 написал(а):
Я тоже хотел, но прочитал что этот метод отправляет через GET. или получает. В общем запутался. А как его встроить в мой код?
$.ajax({
type: "POST",
dataType: 'json',
data: "type=" + type + "&id=" + id,
url: "script.php",
success: function (data, textStatus) {
$.getJSON(...) {
.....
});
}
}
);

Грамматику особо не знаю, скобки, кавычки, опять скобки. во напридумали))

Спустя 15 минут, 23 секунды (24.01.2012 - 13:01) neadekvat написал(а):
maximka787, зайди сюда: http://jqapi.com/, там все подробно описано (грубо: код не дополняется, а переписывается, .ajax уже не будет).


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.