Люди помогите.
Вот мне нужна функция на аяксе которая отправляла бы запрос РНР файлу с переменными которыем мне над и возвращала его ответ туда куда мне нада. Но что бы ответ был не в XML Добавлено (26.01.2008, 15:54)
---------------------------------------------
Мля на сколько я понял никто незнает что такое AJAX
Прийдется обьяснять самому)
Добавлено (26.01.2008, 16:14)
---------------------------------------------
Скачать jQuery можно с официального сайта jQuery
_http://jquery.com/
На мой взгляд с помощью jQuery очень удобно работать с AJAX
Пуристы веб технологий различают следующие подвиды этой технологии:
AJAX - Asynchronous JavaScript and XML, асинхронный Javascript и XML. В ответ на запрос с клиента сервер отвечает правильно сфоримрованным XML-документом
AJAH - Asynchronous JavaScript and HTML, асинхронный Javascript и HTML. В ответ на запрос с клиента сервер отвечает уже сгенерированным HTML-документом или его частью
AHAH - Asynchronous HTML and HTTP, асинхронный HTML и HTTP. То же самое, что и AJAH
AJAJ - JavaScript and JSON, асинхронный Javascript и JSON. В ответ на запрос с клиента сервер отвечает правильной записью объекта Javascript в формате JSON (_http://json.org)
jQuery предлагает реализацию всех трех подвидов технологии AJAX и еще один, AJAJs – все те же и Javascript. Теперь обо всем этом подробнее.
Базовыми функциями для работы с «Аяксом» являются post() и get()
$.post(url[, params[, callback]])
$.get(url[, params[, callback]])
url адрес страницы, на коорую будет отправлен запрос
params параметры, передаваемые в запросе в виде пар «ключ : значение»
callback функция, которая будет вызвана в случае успешного завершения вызова
Code
$.post(
'/ajaxtest.php',
{
type: "test-request",
param1: "param1",
param2: 2
},
onAjaxSuccess
);
function onAjaxSuccess(data)
{
// Здесь мы получаем данные, отправленные сервером
alert(data);
}
Это всеравно что мы запросим так ajaxtest.php?type=test-request¶m1=param1¶m2=2
Но только переменные поредаются в глобальный массив $_POST
А что же на сервере? Вызов страницы при помощи технологии AJAX ничем не отличается от простого вызова страницы, например, путем открытия ее в браузере. То есть передаваемые параметры будут доступны на этой странице также, как если бы они были переданы стандартными методами get или post. На сервере у нас может существовать, например, вот такой ajaxtest.php:
Code
<?php
// Если страница вызвана с помощью .post(), переданные значения будут, как всегда,
// доступны в глобальной переменной $_POST
// Если страница вызвана с помощью .get, переданные значения будут, как всегда,
// доступны в глобальной переменной $_GET
echo 'text';
?>
После того, как ajaxtest.php отработает, в функцию onAjaxSuccess на клиенте будет переданн текст «text». Обратите внимание на HTTP_X_REQUESTED_WITH. Этот HTTP-заголовок устанавливается jQuery во время запросов с помощью Аякса. Это помогает узнать, какой тип запроса нам пришел и обрабатывать данные согласно этому. Во всем остальном запрос через Аякс ничем не отличается от обычного запроса страницы у сервера.
Добавлено (26.01.2008, 16:15)
---------------------------------------------
AHAH
Как уже было видно в первом примере с методом post(), если заголовоку Content-Type не установлено значение «text/xml», ответ с сервера передается как есть, в текстовом виде. Так как обычно такой ответ сразу показывается на странице без дополнительной обработки, то нет смысла заводить отдельные функции вроде onAjaxSuccess. Для получения и отображения полученного с сервера HTML jQuery предоставляет метод load:
Code
load(url[, params[, callback]]);
Этод метод прикрепляется к любому элементу на странице, в котором планируется показать ответ с сервера. После выполнения запроса ответ с сервера автоматически запишется в соостветствующий элемент:
Code
$("#mydiv").load("/ajaxtest.php");
Мы выполняем запрос к файлу из первого примера про «Аякс». После выполнения запроса в элемент с id="mydiv" будет записано слово «text».
Добавлено (26.01.2008, 16:15)
---------------------------------------------
AJAJ
Многие разработчики, столкнувшиеся с технологией AJAX, не любят передавать на клиент XML. Объясняется это тем, что XML может быть довольно большим по размеру, и существуют дополнительные трудности при разборе его структуры на клиенте. Благодаря jQuery, разбор XML на клиенте не представляет никакой сложности. А если разработчики активно используют AHAH, то и размеры передаваемого документа перестают быть решающим аргументом против.
И все же многие предпочтут использовать JSON. JSON – это способ записи данных, который позволяет прогнать эту запись через функцию eval() и получить полноценный Javascript-объект. Для работы с данными в таком формате jQuery предлагает метод $.getJSON:
getJSON(url, params, callback)
После выполнения запроса ответ с сервера прогоняется через функцию eval(), а полученный объект передается в функцию callback:
ajaxtest3.php
Code
<?php
header('Content-Type: text/javascript; charset=utf-8');
?>
{
params: <?php echo $_REQUEST['params']; ?>,
response: 'Наш ответ Чемберлену'
}
Javascript:
Code
$.getJSON(
'/ajaxtest3.php',
{params: "text"},
onAjaxSuccess
);
function onAjaxSuccess(obj)
{
alert(obj.params);
alert(obj.response);
}
Добавлено (26.01.2008, 16:15)
---------------------------------------------
AJAJs
Помимо трех вышеперечисленных способов получения данных с сервера jQuery предлагает еще один. С его помощью можно загрузить и выполнить любой сценарий Javascript с сервера. Для этого используется метод getScript:
Code
getScript(url[, callback])
Пример:
script.js
Code
$("a").css("color", "#0F0");
Наш Javascript:
Code
$.getScript('/script.js');
После выполнения этого метода будет загружен и выполнен сценарий script.js, который окрасит все ссылки на странице в зеленый цвет.