Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XMLHttpRequest, нужен конкретный пример (для чата) 
V
    Опции темы
R.M.
Дата 25.1.2006, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



А можно ли какойнить простой примерчик, просто чтобы скажем кажде 5 сек было обновление?
Ставил на интервал function getTime(url) но ничего не произошло smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Cheba
Дата 26.1.2006, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Куксикус, видимо, плохо ставил. smile
Показывай код.
PM MAIL ICQ   Вверх
R.M.
Дата 26.1.2006, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Cheba
Блин, кода у меня неосталось, щас попробую ещё раз поставить. Я же приводил пример на 1 странице тока ево ктото потёр, ты даже его процитировал и ответил мне
Цитата(Cheba @ 18.1.2006, 13:00 Найти цитируемый пост)
3) 1 - это сильно мало. У тебя броузер нагнется. Попробуй поствить хотябы секунду - 1000 милисекунд.

Куда делась часть поста непонятно smile
Добавлено @ 04:32
Пишу так (JS плохо знаю, так что пробовал по разному и в разные места)
Код

setInterval("getTime(url)", 1000);

подскажите пожалуйста как правильно сделать чтобы данные обновлялись

Это сообщение отредактировал(а) Куксикус - 26.1.2006, 04:26


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
AlDev
Дата 26.1.2006, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: нет
Всего: 50



если еще актуально:
http://www.ajaxprojects.com/ajax/tutoriald...ls.php?itemid=9
Ajax chat.
PM MAIL WWW ICQ YIM MSN   Вверх
Cheba
Дата 26.1.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Цитата(Куксикус @ 26.1.2006, 04:25 Найти цитируемый пост)
Код
setInterval("getTime(url)", 1000);

Чтобы это работало, надо чтобы была "глобальная" переменная url. Иначе функция ее не увидит и фактическим значением, передаваемым в функцию, бедкт undefined.
PM MAIL ICQ   Вверх
R.M.
Дата 26.1.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Cheba
Тогда мне надо передавать
Код

setInterval("getTime()", 1000);

?? или объявить переменную url?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Cheba
Дата 27.1.2006, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Если первое, то функция сама должна где-то брать урл, если второе... то просто обяви ее правильно. smile
PM MAIL ICQ   Вверх
R.M.
Дата 27.1.2006, 04:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Cheba
А откуда она берётся в твоём коде? smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 27.1.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Куксикус
да положи весь свой код


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
R.M.
Дата 28.1.2006, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Gold Dragon
Я код взял тот который Cheba выложил на первой странице


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Cheba
Дата 28.1.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Куксикус,но ты же его изменил. Так-что не жмись, выкладывай.
PM MAIL ICQ   Вверх
R.M.
Дата 29.1.2006, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Cheba
Да я не жмусь, просто опять скажут что мол я тут никого не уважаю т.к. незнаю элементарных вещей, ну вобщем код вот, я впринципе почти ничего и не менял
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
<head>
    <title>AJAX Example</title>
    <!--<script language="JavaScript" type="text/javascript" src="ajax.js"></script>-->
    <script type="text/javascript" language="javascript">
    <!--
    var http_request = false;

     setInterval("getTime(url)", 1000);    // Вот это я добавил

    function getTime(url)
    {
        http_request = false;
        if (window.XMLHttpRequest)
        { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
        }
        else
            if (window.ActiveXObject)
            { // IE
                try
                {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e)
                {
                    try
                    {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e) {}
                }
            }
        if (!http_request)
        {
            alert('Сдаюсь :( Не могу создать объект XMLHTTP');
            return false;
        }
        
        http_request.onreadystatechange = alertContents;
        http_request.open('GET', url, true);
        http_request.send(null);
    }
    function alertContents() {
        if (http_request.readyState == 4)
        {
            if (http_request.status == 200)
            {
                var xmldoc = http_request.responseXML;
                //if (xmldoc == null) alert('!!!');
                var time = xmldoc.getElementsByTagName('time')[0].childNodes[0].nodeValue;//document.documentElement.childNodes[1].innerHTML;
                var date = xmldoc.getElementsByTagName('date')[0].childNodes[0].nodeValue;
                
                document.getElementById('display').innerHTML = 
                   'Time: ' + time + '<br />' +
                   'Date: ' + date;
            } else {
                document.getElementById('display').innerHTML = 'There was a problem with the request.';
            }
        }
    }
-->
</script>
</head>
<body>
    <div id="display"></div>
    <input type="button" name="getTime" value="Get Time" onclick="getTime('time.php')"/>  
</body>
</html>

Добавлено @ 01:34
Пишет что определение url отсутствует но я не совсем понимаю чему должна быть равна url


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Ciber SLasH
Дата 29.1.2006, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Ещё бы серверную часть запостил бы, тогда и я бы потестировал...
PM   Вверх
R.M.
Дата 29.1.2006, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Ciber SLasH
Серверную я не менял, какая была такая и есть, вот
Код

<?php
header('Content-Type: application/xml');
header('Cache-Control: no-cache');
echo '<?xml version="1.0" encoding="UTF-8"?>
<data>
    <time>';
    echo date("H:m:s");
    echo '</time>
    <date>';
    echo date('d/m/Y');
    echo '</date>
</data>';
?>

Мне именно важно чтобы информация из серверного скрипта обновлялась каждые скокато секунд, т.е. другими словами нужен чат на XMLhttprequest,помогите сделать обновление остальное я сделаю сам


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Ciber SLasH
Дата 29.1.2006, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Вот:
test.htm:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>JavaScript :: XmlHttpRequest</title>
<script type='text/javascript'>
var xmlhttp;
var interval;

function setTimeInterval(url) {
interval = setInterval('loadXMLDoc("'+url+'")', 1000);
}

function loadXMLDoc(url) {
var is_IE = false;
    if (window.XMLHttpRequest) {        // Mozilla
        try {
            xmlhttp = new XMLHttpRequest();
        }
        catch (e) {
            xmlhttp = false;
        }
    } else if (window.ActiveXObject) {    // IE
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                xmlhttp = false;
            }
        }
        is_IE = true;
    }
    if (xmlhttp) {
        if (is_IE) xmlhttp.onreadystatechange = parseXMLContent;
        else xmlhttp.onload = parseXMLContent;
        xmlhttp.open('POST', url, true);
        xmlhttp.send(null);
        return true;
    } else {
        clearInterval(interval);
        return false;
    }
}
function parseXMLContent() {
var outDIV = document.getElementById('display');
    if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
            var xmldoc = xmlhttp.responseXML.documentElement;
            //alert(xmlhttp.responseText)
            var time = xmldoc.getElementsByTagName('time')[0].childNodes[0].nodeValue;
            var date = xmldoc.getElementsByTagName('date')[0].childNodes[0].nodeValue;

            outDIV.innerHTML = 
                'Time: '+time+'<br />' +
                'Date: '+date;
        } else {
            outDIV.innerHTML =
                '<b>status: </b>'+xmlhttp.status+'<br />'+
                '<b>text: </b>'+xmlhttp.statusText;
        }
    } else {
        outDIV.innerHTML = '<b>readyState: </b>'+xmlhttp.readyState;
    }
}
</script>
<style type='text/css'>
#display {width: 200px; height: 50px; border: solid}
</style>
</head>

<body>
<div id='display'></div>
<input type="button" name="getTime" onclick='setTimeInterval("time.php")' value="Get Time" />
</body>
</html>

time.php:
Код

<?php
header('Content-type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n".
    "<response>\n".
        "<time>".date('H:m:s')."</time>\n".
        "<date>".date('D, j M Y')."</date>\n".
    "</response>";
?>

PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.4303 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.