AJAX, JavaScript и PHP

Нужен хелп от веб-разработчиков. Коим я не являюсь, но в виду своей деятельности приходится углубляться и в это.
В общем на данный момент, в плане php разработки у меня есть готовый модуль. Он создает и редактирует некую информацию в БД,
теперь по задумке, мне надо эти данные из БД извлекать в select'ы. Что замечательно работает. Но, для того, что бы в селектах не было хлама и ненужной инфы нужно сделать связанные списки.
Т.е. пример: мы выбираем страну, а на основе нашего выбора он заполняет второй селект городами, которые принадлежат данной стране.
Если брать чистый пхп, то это сделать без проблем, но каждый раз страничку нужно перезагружать. Что ни есть хорошо. Тогда было решено пойти дальше в освоении ЯваСкрипта. Еще точнее технологии AJAX.
Уже неделю читаю соответствующую литературу, что-то пробую, где-то получается, где-то не получается, и мне всегда было удобно обучаться когда есть конкретная задача. Брал в примеры множество скриптов, и каждый из них работает по разному и в частности везде данные для селекта хранятся в масссиве созданном в самом ЯваСкрипте. А мне нужно сгенерить этот массив получив данные от БД.
Основная суть задачи ясна. Но остается прояснить некоторые моменты, а в идеале получить работающий скрипт (может их валом, а я не там ищу и с нуля изобретаю велосипед), ведь я сам себе полагаю что данный скрипт может быть универсален, ему лишь нужно передавать нужные данные, например:
при выборе селекта на событие "выбор" цеплять процедуру из ЯваСкрипта. <select id="country" name="country" onchange="getlist('nameList', 'country', 'idcountry')">
а ЯваСкрипт должен использовать эти переменные, делать запрос к бд на основе их и генерировать список.
тобишь,
если параметр = 'country' то посылаем запрос c переменной idcountry к БД (как я понял только через php файл) и получаем ответ.
Потом ищем на странице нужный селект с именем nameList и заполняем полученными данными.
вроде бы как два пальца, но...
мне нужно знать что нужно передавать от php странице к ЯваПриложению и как то, что мы получили распарсить. А может там вообще можно получить тот же чистый массив от php, а я просто еще этого не понял.
Пока организовал в php в ответ на запрос типа index.php?task=getCity&country=1 возвращение массив только тех городов, которые принадлежат этой стране.
Вопрос, может быть возвращать данные нужно в каком-то особенном виде типа генерации html странички с данными, или ЯваСкрипт воспримет ответ в виде массива сам и его можно просто присвоить какой либо переменной в скрипте? Еще я вроде понял что из php можно генерить в ответ xml файл (как еще хз), который принимается скриптом через запрос XmlHttpRequest, парсится в массив и выводится. Опять же, рабочих примеров, что бы разобратся самому не нашел. Просто хотя бы натолкните на правильный алгоритм отдачи информации от пхп к скрипту и генерация массива из полученного ответа.
Данный скрипт хочу сделать именно уневерсальным, что бы только нужно было указывать какую задачу выполнять, что получать и какой select это вставлять. Т.к. этот алгоритм хочу использовать не на одной страничке. Мне бы один рабочий пример, а доп.функции я сам разберусь и допишу.
Еще бы не отказался от учебника по AJAX и ЯваСкрипту желательно в примерах, для облегченного понимания принципа работы.

Поделиться
+1