[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ajax постинг
uSide
<form action="post.php" method="post">
<input name="titile">
<input name="message">
</form>

Как сделать такой-же постинг, только на аяксе?
По-моему, если использовать jQuery, можно так:

$.post('post.php', {
title: 'Название',
message: 'Сообщение'}

Но не работает... Помогите, люди добрые.
З.Ы. Завтра в 14:00 выложу код обработчика запросов, если нужно будет.



Спустя 46 минут, 8 секунд (23.04.2010 - 00:23) John_761 написал(а):
jQuery не обязателен
Примерно так:
Дадим необходимым полям id для удобства и добавим кнопку, повесив на нее функцию, которая будет создавать экземпляр класса XMLHttpRequest, отправлять запрос и обрабатывать ответ
<form action="post.php" method="post">
<input
name="titile" id="title">
<input
name="message" id="message">
<input
type="button" name="button" value=" OK " onclick="myFunc()"/>
</form>

Вот код JS:
Свернутый текст

function xmlhttprequest()
{
if (window.XMLHttpRequest)
{
try {
request = new XMLHttpRequest();
} catch (e){/* nothing */}
}
else if (window.ActiveXObject)
{
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e)
{
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){/* nothing */}
}
}

return request;
}

function myFunc()
{
/**
* Создаем экземпляр класса
*/


var request = xmlhttprequest();

/**
* Это тело будущего запроса
*/


var postSend = null;
var title = document.getElementById('title').value;
var message = document.getElementById('message').value;
postSend = 'title=' + title + '&message=' + message;

/**
* Здесь нужно определить необходимый url - куда будет отсылаться запрос, то есть страница, где сервер будет обрабатывать полученные данные
*/


var url = '...';

/**
* true - Асинхронный запрос, POST - метод, url - выше определенный адрес
*/


request.open('POST', url, true);

/**
* Шлем заголовок
*/


request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');

/**
* Обработка ответа, 4 - ответ пришел полностью, 200 код состояния HTTP - OK
*/


request.onreadystatechange = function()
{
if (request.readyState == 4)
{
if (request.status == 200)
{
// код какой-нибудь
}
}
}


/**
* Отправляем запрос
*/

request.send(postSend);
}


Блин, зачем я написал... тут все расписано smile.gif
http://irbis-team.com/15/13/1

Спустя 6 часов, 56 минут, 6 секунд (23.04.2010 - 07:19) Семён написал(а):
<form>
<input
name="titile" id="title">
<input
name="message" id="message">
</form>
<div
id="result"></div>

<script>
var ms1 = encodeURIComponent($("#title").val());
var ms2 = encodeURIComponent($("#message").val());
var ms = "titile=" + ms1 + "&message=" + ms2;
$.ajax(
{
type: "POST",
data: ms,
url: "#URL#",
success: function(html){
$("#result").html(html);
}
}

);
</
script>

Спустя 6 часов, 48 минут, 59 секунд (23.04.2010 - 14:08) uSide написал(а):
John_761,Семён, спасибо

Спустя 1 час, 44 минуты, 56 секунд (23.04.2010 - 15:53) Семён написал(а):
Обращайтесь smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.