PHP

PHP проверка Ajax

Добрый день. Весь гугл перерыл. Миллионы страниц обучения использования Аякса со стороны пользователя. Но ни одном нормальной статьи про серверную сторону.
Подскажите.
Я отправляю данные методом load() со стороны клиента. Посылаю дату.
selectDepartment.on('change', function(){
var data = {Dep: $(this).val()};
selectDoctor.load("confirms/selectors.php",data);
});

Как мне на стороне сервера сделать проверку какая именно дата пришла? Мне нужно сделать какой то IF который в зависимости от пришедшей информации запускал ту или иную функцию.
Ну так проверяйте переменную REQUEST и смотрите что пришло на сервер и проверяйте что необходимо
Рахман Мерт
Рахман Мерт
13 852
Лучший ответ
Александр Емельянов Я хочу сделать селект. В зависимости от изменения выбора в одном селекте происходит чтение из базы данных и вывод информации в другой селект.
echo "< option >".$temp['DocName']." ".$temp['DocLastname']."< /option >";
Но мне нужно проверить ДАТУ на стороне сервера.
Мне не принципиально использовать функцию load. Можно скажем и другие варианты Ajaxa. Мне принципиальна сама проверка.
Как проверить пришедшую дату ?
Ты видимо не читали эти миллионы страниц, а копипастили примеры и удивлялись почему не работает!
Запрос аякса равносилен переходу по ссылке в браузере. Серверная часть никак не отличается для аякса от не для аякса.
.load() равносилен $.get() (это написано в документации), а значит в php скрипте !!ВНЕЗАПНО!! данные стоит искать в переменной $_GET
"Что вы ищете живого среди мертвых? Его здесь нет... "(с) data это переменная в которой хранятся данные. Так зачем ты пытаешься обращаться к data, если такого параметра нет в _REQUEST?
Армен Аракелян
Армен Аракелян
34 078
Вам бы еще раз пройтись по этому самому миллиону страниц и разобраться чего вы хотите, что со стороны пользователя, что со стороны сервера, что чем обрабатывается и куда что грузится. Вы явно не допоняли и половины того что прочитали на страницах обучения
Александр Емельянов Я хочу сделать селект. В зависимости от изменения выбора в одном селекте происходит чтение из базы данных и вывод информации в другой селект.
echo "< option >".$temp['DocName']." ".$temp['DocLastname']."< /option >";
Но мне нужно проверить ДАТУ на стороне сервера.
Мне не принципиально использовать функцию load. Можно скажем и другие варианты Ajaxa. Мне принципиальна сама проверка.
Как проверить пришедшую дату ?
Эммм....
Во-первых: load это не метод, а событие, которое возникает при загрузке объекта.
Во-вторых: строчка selectDoctor.load("confirms/selectors.php",data); попахивает бредом. Ибо первым аргументом должна идти функция, а не ссылка на файл.
В третьих: в вашем листинге нет ни символа для ajax...

selectDepartment.on('change', function(){
$.post('confirms/selectors.php', {departament:$(this).val()}, function(data) {
// обрабатываем полученные данные data, например:
alert(data);
});
});

<?php
if (isset($_POST[departament]))
{
$out='';
if ($_POST[departament]==1) $out='Первый департамент';
if ($_POST[departament]==2) $out='Второй департамент';
/*

....

*/
if ($_POST[departament]==100500) $out='Последний департамент';
echo $out;
exit();
}

а вообще - почитайте про аякс более внимательно, ибо в голове по-ходу какая-то каша у вас
Армен Аракелян Я бы советовал вам тоже почитать документацию.
1. load() это метод.
2. в строчке selectDoctor.load("confirms/selectors.php",data); нет никакого бреда.
3. как вам аякс символ вам нужен?