Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > отправка запроса и обработка полученных данных от


Автор: Rock 28.4.2006, 16:05
Скрипт должен отправлять запрос, получать данные, и если они верны выводить сообщение...  
Данные должны оправляться каждые пять минут... все это дело происходит в отдельном небольшом окошке...
Честно, не знаю как это реализовать, т.к. в яве нуль...  smile  

Автор: dstorm81 28.4.2006, 17:10
ну если в яве нуль, читай книги, знаешь я в яве тоже нуль smile, а вот в яваскрипт !=0 
используй мета с решрешем
или посчет запросов - тебе батенька в раздел серверных языков, в ПХП или АСП надо 

Автор: Janus 29.4.2006, 16:58
Этот код выполняет функцию your_function() каждые 5 минут. 
Код

setInterval('your_function();', 300000);

В самой функции ты можешь делать что угодно. Судя по твоему описанию, тебе нужно использовать AJAX для вызова серверного скрипта и получения данных. 

Автор: Rock 6.5.2006, 21:43
так, если юзать
Цитата(Janus @  29.4.2006,  16:58 Найти цитируемый пост)
setInterval('your_function();', 300000);

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

Цитата(Ciber SLasH @  14.3.2006,  12:49 Найти цитируемый пост)

Код

<script type='text/javascript'>
/**
* Отправка запроса
*
* @param1 string url — куда будем отсылать запрос
* @param2 array aData — массив передаваемых данных
**/
function sendQuery(url, aData) {
var is_IE = false;
var XmlHttp;
    /** Обработка ответа **/
    function parseRequest() {
        if (XmlHttp.readyState == 4) {
            if (XmlHttp.status == 200) {
                if (parseInt(XmlHttp.responseText) == 1) {
                    location += "?valid=1";
                } else {
                    location += "?valid=0";
                }
            }
        }
    }
    ////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////
    if (window.XMLHttpRequest) {        // Mozilla
        try {
            XmlHttp = new XMLHttpRequest();
        } catch (e) {
            XmlHttp = false;
        }
    } else if (window.ActiveXObject) {    // IE
        try {
            XmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
        } catch (e) {
            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 = parseRequest;
        else XmlHttp.onload = parseRequest;
        XmlHttp.open('POST', url, true);
        if (aData) {
            var query = "";
            for (var i = 0; i < aData.length; i++) {
                query += "data[]="+aData[i]+"&";
            }
            query = query.substr(0, query.length-1);
            XmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            XmlHttp.send(query);
        } else XmlHttp.send(null);
        return true;
    } else return false;
}
</script>

 я так понимаю, что использование setInterval('sendQuery();', 300000);, позволит мне отправлять запрос каждые 5 минут на сервер?... 

Автор: 12345c 6.5.2006, 23:13
Правильно. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)