Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2011, 15:41   #1
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию Формирование ответа на AJAX-запрос

Последние время меня начали мучить сомнения по поводу моих методов обработки ответа на AJAX-запрос. Я использую следующую схему:
- на пришедший запрос Я на сервере формирую строку, типа: "alert(&# 39;users&# 39; );"
- затем прогоняют полученный ответ на клиенте через eval.

Вопрос:
- Правильно ли Я делаю? Как поступаете Вы? Как формируете строку на сервере?
Виталий Желтяков вне форума Ответить с цитированием
Старый 03.02.2011, 15:46   #2
kpachbiu
взагрузке.рф
Форумчанин
 
Аватар для kpachbiu
 
Регистрация: 13.06.2010
Сообщений: 117
По умолчанию

А чего не хочешь на сервере формировать ответ в виде:
- JSON или XML (если много параметров в ответе)
- или просто числа, строки (если только один параметр в ответе)

Я бы еще посоветовал ознакомиться с WebSocket!
Взагрузке.рф - Файлы для людей
Ищу художника или веб-дизайнера для создания браузерной онлайн игры! icq 340-289-851
kpachbiu вне форума Ответить с цитированием
Старый 03.02.2011, 16:08   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Я использую использую своеобразный псевдо-JSON передаю массивы и выполняю их с помощью eval.

Про числа и строки не совсем понял - если можно пример.

За наводку на WebSocket - отдельное спасибо.
Виталий Желтяков вне форума Ответить с цитированием
Старый 03.02.2011, 16:20   #4
kpachbiu
взагрузке.рф
Форумчанин
 
Аватар для kpachbiu
 
Регистрация: 13.06.2010
Сообщений: 117
По умолчанию

Ну например на странице нужно вывести один параметр - ответ о получении денег например:

Вот можно формировать ответ от сервера как числа 1 или 2
и потом преобразовывать в фразы - Получил деньги (1) или Ошибка в получении денег (2)

Или сразу передовать строки Получил деньги или Ошибка в получении денег.
Взагрузке.рф - Файлы для людей
Ищу художника или веб-дизайнера для создания браузерной онлайн игры! icq 340-289-851
kpachbiu вне форума Ответить с цитированием
Старый 03.02.2011, 16:45   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Типо, возвращать числа как входные параметры функции?
А выполнять команды с помощь eval? Можете привести пример.
Виталий Желтяков вне форума Ответить с цитированием
Старый 03.02.2011, 17:45   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kpachbiu Посмотреть сообщение
- или просто числа, строки (если только один параметр в ответе)
Скорее всего здесь kpachbiu имеет ввиду стандартную реализацию ajax-запроса в jQuery...

Например $.post():
Запрос:
Код:
$(document).ready(function(){
        $.post('post.php', { value1 : '1', value2 : '2' }, function(data){ alert('Answer: '+data); });
});
Обработка(post.php):
PHP код:
if(isset($_POST['value1'], $_POST['value2'])){
    
    
$return '';
    
    if(
$_POST['value1'] < $_POST['value2']){
        
$return 'Value1 < Value2';
    }
    elseif(
$_POST['value1'] > $_POST['value2']){
        
$return 'Value1 > Value2';
    }
    else{
        
$return 'Value1 = Value2';
    }

    echo 
$return;
}
else{
    echo 
'Some Error!';

В этом примере возвращается просто готовая строка.
Аналогично можно возвращать число-флаг, например, затем обрабатывать его в функции и выполнять соотв. действия.
Andkorol вне форума Ответить с цитированием
Старый 04.02.2011, 08:36   #7
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Цитата:
Как поступаете Вы? Как формируете строку на сервере?
Ответ отдаю в виде xml, разбираю его при помощи js.

Вообще не стоит "мешать языки" php не должен генерить js код. Сервер должен отдавать данные в наиболее универсальном формате.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 05.02.2011, 19:49   #8
kpachbiu
взагрузке.рф
Форумчанин
 
Аватар для kpachbiu
 
Регистрация: 13.06.2010
Сообщений: 117
По умолчанию

Andkorol правильно пример дал!
Виталий теперь понятней?
Взагрузке.рф - Файлы для людей
Ищу художника или веб-дизайнера для создания браузерной онлайн игры! icq 340-289-851
kpachbiu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск ответа BUMPER Помощь студентам 0 18.06.2010 21:12
Интервал ответа Pavelok Работа с сетью в Delphi 3 16.05.2009 22:08
Кеширование ответа AJAX Grind PHP 11 25.03.2009 16:44
Постобработка НТТP-ответа pasta Работа с сетью в Delphi 7 25.02.2009 00:59