Здравствуйте, делаю первые шаги в освоении технологи "динамической загрузки" страницы. Уже довольно давно не могу в доступной мне литературе найти описание-примеры взаимодействия с БД (MySQL + php). Интересуют вопросы: 1. Каким образом передавать данные в браузер. 2. В каком формате рекомендуется передавать данные. Интересно узнать мнение профессионалов и "продвинутых" людей в этой области. Можно просто описать принципы взаимодействия с названием технологий. Ссылки на лит-ру и названия книг с авторами приветствуются. Спасибо за любую помощь в решение этого вопроса.
Обычно AJAX взаимодействует с одним php-файлом. В качестве параметра в него передается какая-нибудь запрашиваемая величина. Файл, получая величину, берет данные из базы и нашпиговывает html и просто выводит через echo (конечно, далеко не самый хороший вариант, но для начала сойдет). Эти данные передаются AJAXу и дальше их можно отловить Javascript"ом и вставить куда нужно. Пример: index.html: HTML: <html> <head> <script type="text/javascript"> [js]function get(vegetables) { if (window.XMLHttpRequest) { var request = new XMLHttpRequest(); request.onreadystatechange = function () { processRequestChange(request) }; request.open("POST", "/ajax.php" , true); request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); request.send('vegetables='+vegetables); } else if (window.ActiveXObject) { //Вариант для IE var request = new ActiveXObject("Microsoft.XMLHTTP"); request.onreadystatechange = function () { processRequestChange(request) }; request.open("POST", "/ajax.php" , true); request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); request.send('vegetables='+vegetables); } function processRequestChange(request) { var abortRequest = setTimeout( function () { request.abort(); }, 10000); if (request.readyState == 4 && request.status == 200) { document.getElementById('text').innerHTML = request.responseText; request.abort(); } } }[/js] HTML: </script> </head> <body> <div id="text"></div> <span onclick="get('redis')">получить редиску</span><br> <span onclick="get('morkov')">получить морковку</span> </body> </html> ajax.php PHP: <?php header("Content-type: text/html; charset=windows-1251"); switch ($_POST["vegetables"]) { case "redis": echo 'Редиска!!'; break; case "morkov": echo 'Морковка!!'; break; } А с базой, как обычно... Да, и ссылка: http://javascript.ru/ajax/tutorial
Kreker, а можно в реализации с пометкой "простейший пример аякс"???? Ну чтобы не терять и всегда было видно пример )
Kreker а если обращаться к БД на MySQL, то надо сделать файл .php в нем составить запрос и вызывать его? P.S. а что надо доп. поставить чтобы твой код заработал у меня стоит сейчас XAMPP (apache сервер)
Nemo В смысле? Довести пример до ума и вывесить скрипт? Попробую, но не на этой неделе... Kocapb С БД работать точно так же, как и обычно. Вы не работали ни разу? Ничего. AJAX - это просто Javascript технология. В данный момент её поддерживают все популярные браузеры. А сервер, можно заметить по коду, даже и не знает, что к нему обращаются через ajax.
не на php у меня есть опыт работы с БД на MySQL. Ок с запуском разобрался. Завтра попробую с простейшими запросом на чтение полей.