[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: асинхронная передача post в Jquery
kuzroman
Уважаемые знатоки, подскажите неграмотному, что же возвражается в data при использовании метода

$.post( 'post.php', {key:value},
function(data){
alert(data);
}
)


у меня лично возвращается все что обрабатывается и выводится в post.php
т.е. html в чистом виде и echo.

Отсюда вопрос могу ли я вернуть методом POST(AJAX) переменную php(js) из файла post.php?

Опишите пожалуйста какую переменную php(js) и каким методом post(ajax) возможно это сделать?

Заранее благодарю.



Спустя 6 минут, 6 секунд (9.12.2011 - 15:53) Michael написал(а):
Цитата
Отсюда вопрос могу ли я вернуть методом POST(AJAX) переменную php(js) из файла post.php?

почитай про json в jquery

Спустя 4 минуты, 5 секунд (9.12.2011 - 15:57) kuzroman написал(а):
на сколько я знаю формат json - это один из вариантов возвражаемого набора.

Спустя 4 минуты, 27 секунд (9.12.2011 - 16:01) m4a1fox написал(а):
Можно еще и ajax'ом передать!

Спустя 3 минуты, 12 секунд (9.12.2011 - 16:04) redreem написал(а):
все что кинешь серваком в обратку - то и придет. это ты уже на клиентской стороне разбирай что пришло. можешь например отправлять echo '<script>varname = varval;</script>';, потом вставлять data в какойнибудь скрытый див и в результате в js-пространстве переменная varname будет принимать значение varval.

Спустя 13 минут, 52 секунды (9.12.2011 - 16:18) VolDroN написал(а):
json лучше всего
echo json_encode('var1' => $var1, 'var2' => $var2, 'var3' =>$var3);

а в $.post - dataType: 'json'
и уже обращаться к data
alert(data.var1);

Спустя 4 минуты, 2 секунды (9.12.2011 - 16:22) kuzroman написал(а):
Цитата (redreem @ 9.12.2011 - 13:04)
все что кинешь серваком в обратку - то и придет. это ты уже на клиентской стороне разбирай что пришло. можешь например отправлять echo '<script>varname = varval;</script>';, потом вставлять data в какойнибудь скрытый див и в результате в js-пространстве переменная varname будет принимать значение varval.

Да так всегда и делаю, вставляю то что пришло в html.

а для того чтобы вернуть в формате json - необходимо на сервере сформировать этот самый json?

потому что вориант
$.post( 'post.php', {key:value},
function(data){
alert(data);
}, json
)
не выведет ничего.

Спустя 2 минуты, 2 секунды (9.12.2011 - 16:24) m4a1fox написал(а):
Код в студию!

Спустя 52 секунды (9.12.2011 - 16:25) redreem написал(а):
а зачем тебе json позарез? json - это надстройка над js, ты можешь придумать свой формат и его использовать. хотя если если нужно в json отправлять обратно - тож проблем не вижу. инфы и примеров по форматам и их формированию в тех или иных средах - полно.

Спустя 10 минут, 50 секунд (9.12.2011 - 16:36) kuzroman написал(а):
Цитата (m4a1fox @ 9.12.2011 - 13:24)
Код в студию!

отравляю:
$json = $.post('post/alfavit.php',{	t:t	},
function(data){
alert(data);
}
);


принимаю
содержимое страницы post/alfavit.php
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}



alert(data); выводит html т.е. текст


нужно принять в формате json.
т.е. чтобы потом после получения в js можно было обратиться к firstName и получить Иван

как сформировать json на сервере, и правильно его вернуть?

Спустя 5 минут, 8 секунд (9.12.2011 - 16:41) m4a1fox написал(а):
kuzroman

$json = $.post('post/alfavit.php',{ t:t },
function(data){
alert(data);
}
);

Интересная реализация! Видимо я просто не встречал этого из-за малого кол-ва практики! Надеюсь вы получите ответ на вопрос! Но как по мне, то как то сложно у вас получается!

Спустя 2 минуты, 30 секунд (9.12.2011 - 16:44) kuzroman написал(а):
Цитата (m4a1fox @ 9.12.2011 - 13:41)
kuzroman

$json = $.post('post/alfavit.php',{ t:t },
function(data){
  alert(data);
}
);

Интересная реализация! Видимо я просто не встречал этого из-за малого кол-ва практики! Надеюсь вы получите ответ на вопрос! Но как по мне, то как то сложно у вас получается!

пардон конечно нужно так:

$.post('post/alfavit.php',{t:t},
function(data){
alert(data);
}
);

Спустя 10 минут, 46 секунд (9.12.2011 - 16:55) kuzroman написал(а):
Цитата (VolDroN @ 9.12.2011 - 13:18)
json лучше всего
echo json_encode('var1' => $var1, 'var2' => $var2, 'var3' =>$var3);

а в $.post - dataType: 'json'
и уже обращаться к data
alert(data.var1);

Да спасибо всем, разобрался.

для получения данных в формате json, на сервере формируем этот формат:
$arr = array('var1' => '1111', 'var2' => '2222', 'var3' =>'3333');	
echo json_encode($arr);


запрос на сервер и получение переменной например var1:
$.post( 'post.php', {key:value},
function(data){
alert(data.var1);
}, 'json'
)


ответ: 1111

Спасибо!!!


_____________
kuzroman@list.ru
Быстрый ответ:

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