Сегодня в уроке я Вам расскажу как взаимодействует библиотека JavaScript — Jquery c PHP.
Начало дружбы PHP и клиентской части веб-приложения положила API XMLHttpRequest, которая прекрасно справляется с обменом данных браузера и веб-сервера по протоколу HTTP. С его помощью можно осуществлять запросы без перезагрузки страницы.
Сейчас когда есть библиотека jQuery, этот процесс займет у Вас намного меньше сил и времени. Его построение не вызовет особых сложностей использования AJAX или JavaScript. Нужно просто знать функцию jQuery .get (), которая делает GET запрос к файлу на сервере и возвращает результат выполнения данного запроса без перезагрузки страницы, т.е. в режиме «он-лайн». Давайте детальнее рассмотрим данную функцию.
Функция jQuery .get() имеет следующие параметры:
get(путь к файлу, передаваемые параметры, функция результата)
Рассмотрим в деталях первый параметр функции .get() — это строковое значение, которое содержит путь к файлу на сервере, обычно это файл PHP, который исполняется на сервере.
Пример использования:
//JavaScript $.get('jquery.php'); //JavaScript
Следующий необязательный параметр функции jQuery .get() содержит параметры, котрые передаются к файлу PHP или к другому файлу на сервере.
Пример функции с передачей параметров:
//JavaScript $.get( 'jquery.php', { one: 'one', php: 'php', jquery: 'jquery' }); //JavaScript
В даном случае файлу jquery.php передаются переменные one , php, jquery с значениями one , php, jquery соотвественно.
И последний необязательный параметр — это функция-обработчик ответа от файла на сервере.
Пример функции jQuery .get со всема параметрами:
$.get( 'jquery.php', { one: 'one', php: 'php', jquery: 'jquery' }, function (data) { alert(data); });
В этом примере jQuery передает файлу jquery.php три переменные запросом GET и возвращаемый результат от файла выводится в сообщении с помощью функции alert().
На последок приведу пример файла jquery.php:
<? echo 'Первая переменная: '.$_GET[one].'; Вторая: '.$_GET[php].'; 3-я: '.$_GET[jquery]; ?>
Используйте очень полезную функцию .get() библиотеки jQuery вместе с PHP и Ваш сайт будет еще более динамичней и практичней!
На этот все, до новых уроков по PHP и jQuery.
Ага Хорошую информацию трудно добыть. (А сделать с ней что-нибудь – ещё труднее)
Это точно! Но я буду стараться важную информацию и уроки выкладывать для Вас!
Прикольно! Хотелось бы побольше таких же заниматльных сообщений
Ну это Вы скажем просто перепечатали стандартную документацию. А вот скажите, как передать параметры с jQuery в PHP из формы например. Имеется форма с чем то таким:
есть функция
function feedback(){
…
jQuery(«#feedback»).load(«feedback.php», params);
}
В которой params это данные из формы, которые надо передать в feedback.php, а она вернет ответ, которы заменит форму.
Так вот как передать эти параметры feedback.php?
Прописывай вот так например:
var model = $(‘#model’).val();
var age = $(‘#age’).val();
$.get( ‘jquery.php’, { model: model, age: age }, function (data) {
alert(data);
});
Где model и age это id нужных елементов формы!
Спасибо большое. Туплю. Такого уже нагородил.
Пожалуйста)
Спасибо за доступную статью и комментарии к примерам, благодаря сумел разобраться с некоторыми тонкостями применения ajax-запросов.
p.s. Что то информация на блоге долго не обновляется.
Спс !
Теперь осталось описать отправку методом POST
Нифига не выходит.
никак не могу передать переменную
Untitled Document
$(document).ready(function(){
$(«#run»).click(function(){
$.get( ‘q5.php’, { a: ’10′});
});
});
Откройте firebug — посмотрите что передается.
Все написано правильно — должно передавать переменную а гет запросом.
посмотрел в Opera и Firefox. Переменной не обнаруженно.
Юрий у вас этот код срабатывает?
Это не от браузера зависит.
Воспользуйтесь http://getfirebug.com/ FireBug’ом для ФаерФокса — в консоли выдаст или ошибку или покажет как произошел запрос к файлу q5.php
Воспользовался и firebug-ом и отслеживанием в опере. Как я писал переменной нет.
Отписал Вам на почту.
весь данный код уже был расположен в файле q5.php
Киньте тогда мне оба файла и q5.php и тот с которого запрос посылаете
Тот код который я вам отправлял и был одним единственным файлом q5.php. Больше файлов нет. Или если я правильно понял методом get нельзя воспользоваться непосредственно в одном файле?
Нет. Разделите на два файла, один посылает запрос. Т.е. вся страница, а другой лишь обрабатывает.
Большое спосибо! Буду пробывать.
Юрий прошу посмотрите код. Я отослал вам на ящик.
Скажите как потом вывести в php
<?php echo '’.$data.»; так невыводит?
И как указать кодировку а то возврашает в алерте крякозяблами?
apapto@yandex.ru
Кодировка указывается через функцию в php:
header(); — гуглите
- а что именно вы хотите вывести?