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
Сергей

Анти10 августа 2011 15:15

написал в асю, принимай) какраз недавно готовил рабочий пример для знакомого

Алексей

A-lex11 августа 2011 19:31

в общем порыскав немного в интернетах, а еще точнее тут и тут, и еще было не мало сайтов.
во втором, более конкретном случае было всё ясно и понятно, делаем выборку из БД и так же формируем XML документ, но всё осложнилось тем,  что пишется компонент для Joomla. И на выходе она упорно не хотела давать чистый XML код. Хотя функцией responseText оно видело как чистый XML файл. (а всё потому, что подлая жумла дописывает в файл теги html, head и body, которых нет в исходном коде, но замечательно видны в FireBug). Еще немного посмотрев примеров парсинга текста была написанна функция всего в две строчки! И я как дурик бился над этим неделю %)
В общем исходный код выдачи информации был переписан на генерацию типа:
<option value="значение">текст</option>
а потом было написано примерно следующее:
всё тоже самое что в скрипте с примера только функция getColor была облегчена до двух строк:


function processReqChange(){
    if(req.readyState == 4){
        if(req.status == 200){           
           getData(req.responseText);
        }else{
            alert("There was a problem retrieving the XML data:\\n" + req.statusText);
        }
    }
}
function getData(xml){   
    var _select = document.getElementById("индификатор selecta на форме");
    _select.innerHTML = xml;          
}

оказалось всё элементарно и я упорно изобретал велосипед Embarrassed

#kid

#kid11 августа 2011 19:50

A-lex
оказалось всё элементарно и я упорно изобретал велосипед Embarrassed
В ИЕ не будет работать.

Алексей

A-lex11 августа 2011 21:46

пля, точно :(((

Роман

RONIK11 августа 2011 22:09

Отписал в лс

TV0ReC

TV0ReC22 августа 2011 16:06

Не изобритайте вилосипед, jquery в помощ

$("#id_selector").get("ajax.php?..."); - кросбраузерно

  

Прямой эфир
Триумф семьи Котенёвых
Молодцы!
#Somik2 дня назад
Чтобы спасти село от паводка, в Павлодарской области пришлось вскрывать дорогу
Тупизна некоторых жить без таких постов не даёт. Вот есть же человек/два/три, который/которые эту дорогу…
#wlad2 дня назад
Девушка родила ребенка в ванной и задушила его в Павлодаре
avgusta, это Irbistv.kz,  помойка. Но иногда и Павон подобным грешит, тоже носом тыкаю.
#wlad3 дня назад
Жизнь, посвященная истории края
Замечательное события. Приятно, когда помнят. Когда не просто так
#Somik4 дня назад
Через Пакистан, Индию и Непал: как велопутешественник из Павлодара покорил Эверест
История хорошая. Куда только Павлодарцы не ездят... Особенно на велосипедах
#Somik6 дней назад
Павлодарские фермеры обеспокоены возможным запретом на экспорт овощей
Сколько живу, все одно и тоже: наше в Россию, а из России к нам...
#Somik6 дней назад
57 работ художника Ария Школьного передали в дар павлодарскому художественному музею
Павон, за  семья переехала в Алма-Ату  большое спасибо?
#wlad3 недели назад
В Павлодаре пенсионерку, которая собиралась перевести мошенникам полтора миллиона тенге, остановила сотрудница полиции
В Павлодаре пенсионерку, которая собиралась перевести мошенникам полтора миллиона тенге, остановила сотрудница полиции…
#wlad3 недели назад
Павлодарских болельщиков приглашают на презентацию родного футбольного клуба
Интересно, как же в Павлодар будут добираться команды соперников? Как обычные гражданские, до Астаны и дальше на…
#John Wick3 недели назад
Как пройдет референдум по принятию новой Конституции в Павлодарской области
765 милонов  на 3 тысячи человек итого 255тыщ на на нос за несколько дней работы. неплохо
#sergadm3 недели назад
Ход реконструкции областного реабилитационного центра проверили аманатовцы
Реабилитационный центр, расположенный в Зеленой роще, входит в предвыборную программу партии. Вот-таки всеми шестью…
#wlad2 месяца назад
Популярные у павлодарцев огурцы и помидоры теперь в списке социально-значимого продовольствия
Интересно - а владелец магазина в деревне Павлодарские Ебеня за 200 км. от славного города Павлодара, где он продукты…
#wlad2 месяца назад
Иностранка пыталась продать почку в Павлодаре
sergadm, да, в количестве двух штук.
#wlad2 месяца назад
Футбольный стадион на 20 тысяч зрителей начнут строить в Павлодаре
А это точно начнут строить в 2026 году? Разве уже есть эскизы, ПСД, застройщик и т.д. Такая большая стройка так просто…
#John Wick2 месяца назад
"Иртыш" объявил о массовом уходе известных футболистов
Там вообще остался, кто играть в КПЛ будет? Кто будет выходить последний, свет выключите...
#John Wick2 месяца назад
Детский хоспис откроют в Павлодаре
Дело хорошее. Тут без власти не пожить... Благодарность
#Somik2 месяца назад
Первую многоэтажку в Затонском микрорайоне Павлодара сдадут до конца этого года
20 - 2 этажек заменили 7 - девятиэтажными домами и 2-мя 2 - этажными, мощности какие никакие есть
#Somik2 месяца назад
В Павлодаре горожане и спортсмены не поделили горку в Зеленой роще
Действительно, место отдыха было для всех. Административный ресурс замечательно работает, но тут непродуманно. Хоть на…
#Somik2 месяца назад
Строительство 4 многоэтажек намерены начать в микрорайоне "Достык" в Павлодаре
Планы грандиозные. Видимо государство подумало об этом. Теперь - "Aq Jol", чтобы реализация не подвела
#Somik2 месяца назад
В Павлодаре начали строить новый завод
Жаль подробностей нет. Но стратегия видна, думает кто-то на перспективу и это замечательно
#Somik2 месяца назад
Как диабетикам получить социальные выплаты в Павлодаре
Инсулинозависимый диабет (сахарный диабет 1 типа). Термин «инсулинопотребный» обычно относится к сахарному диабету 2…
#Somik2 месяца назад
Сокращение количества бродячих собак привело к росту числа лис в Павлодаре
Сокращение количества бродячих собак привело к росту числа лис в Павлодаре - Любой вид, когда он живёт где-то, он…
#wlad3 месяца назад
Нового прокурора представили в Павлодаре
А вы, друзья, как ни садитесь ... .
#wlad3 месяца назад