| |
|
|
| | я вроде разобрался с технологией AJAX. Подскажите пожалуйста, как сделать так, чтобы посланное сообщение добавлялось всем пользователям одновременно как в чате.
Вот файл который передает текст:
<script type="text/javascript" language="JavaScript">
function doLoad()
{
var req = window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
if (req)
{
req.onreadystatechange =
function readystate()
{
if (req.readyState == 4)
{
if (req.status == 200)
{
document.getElementById('content').innerHTML = req.responseText;
}
else
{
alert("Произошла ошибка"+ req.status+":\n" + req.statusText);
}
}
}
req.open("GET", "load.php?id="+document.getElementById("edit1").value, true);
req.send();
}
}
</script>
<form method=post>
<input type="TEXT" size="50" id="edit1" >
<input type="button" value="Send" onclick="doLoad();">
</form>
<div id=content style="white-space:pre"></div>
|
что должен делать файл load.php? помогите плз. | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 15:20)
| | | пожалуйста подскажите, очень нужно. | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 15:20)
| | | Пользователям значит браузерам? или зарегистрированным на сайте например...
Если браузерам, то с помощью файла load.php это сделать не удастся, т.к. php - серверный язык программирования.
Нужно чтобы со стороный клиента (браузера) посылался запрос к файлу, который содержит необходимый текст и отображался. Может что не так понял? | |
| |
|
|
| |
|
|
| |
для: Ziq
(05.03.2007 в 15:47)
| | | >Пользователям значит браузерам? или зарегистрированным на сайте например...
зарегистрированным на сайте | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 15:54)
| | | В чем тогда возникает сложность?
В файл load.php передаются обычным образом параметры через $_GET. Все зависит от того как устроено хранение данных на сайте. По-больше подробностей, а то не понятно что конкретно вы хотите. | |
| |
|
|
| |
|
|
| |
для: Ziq
(05.03.2007 в 16:20)
| | | я имею в виду:
пусть в чате сейчас 5 человек. Один из них пишет сообщение и посылает. У всех пятерых появилось отправленное сообщение.
как это реализуется? | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 16:23)
| | | Примерный алгоритм таков: допустим данные, который пользователь отправляет в чат, передаются файлу load.php. Файл load.php записывает в базу данных это сообщение. При этом все остальные пользователи с периодичность в 5 секунд, например, проверяют файл chat.php, который берет из базы данных новое(ые) сообщение(ия). Если оные имеются, то в окно добавляется новая запись (с помощью js).
Где-то так все и выглядит. Сам чат не разрабатывал, так что в мелочах могу ошибиться. | |
| |
|
|
| |
|
|
| |
для: Ziq
(05.03.2007 в 16:39)
| | | а какая функция "поможет" проверить какую-либо страницу с периодичностью 5 сек??? | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 16:45)
| | | У меня запрос каждые 2 секунды ajax делает | |
| |
|
|
| |
|
|
| |
для: bronenos
(05.03.2007 в 17:12)
| | | как сделать этот запрос? | |
| |
|
|
| |
|
|
| |
для: bronenos
(05.03.2007 в 17:12)
| | | >У меня запрос каждые 2 секунды ajax делает
как это сделать? | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 20:23)
| | | По-моему..:
setTimeOut();
setTimeInterval();
|
| |
| |
|
|
| |
|
|
| |
для: ddhvvn
(05.03.2007 в 20:27)
| | | как сделать чтобы было именно 2 секунды и куда вставить эти функции??? | |
| |
|
|
| |
|
|
| |
для: ddhvvn
(05.03.2007 в 20:27)
| | | подскажите плз, куда вставить функцию задержки? может надо изменить код ява скрипта?
мне надо чтобы скрипт обращался к файлу каждые 2 сек | |
| |
|
|
| |
|
|
| |
для: ddhvvn
(05.03.2007 в 20:27)
| | | мне осталось разобраться только с этим моментом.Помогите пожалуйста........ | |
| |
|
|
| |
|
|
| |
для: Roma
(05.03.2007 в 20:57)
| | | после того как ответ получен ставите setTimeout ('getmessages();', 2000);
где в первый параметр подставьте имя вашей функции для получения сообщений | |
| |
|
|