Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Kex 02.03.2006 00:24
Хочется понять, как работает система, предложенная на http://www.ipo-design.ru/developments/httpreguest/ ..function doLoadParser(force) { //query = значение поля "query1" формы var query = '' + document.getElementById('query1').value; var req = new JSHttpRequest(); req.onreadystatechange = function() { //не понимаю, что значит readyState == 4 if (req.readyState == 4) { //здесь выводятся значения, полученные уже из load_test.prs, написанноо на парсере. document.getElementById('result1').innerHTML = 'MD5("'+req.responseJS.food +'") = ' + '"' + req.responseJS.good + '"'+id+' '+pid; } } req.caching = true; //открывается файл с обработчиком... req.open('GET', 'load_test.prs', true); //обработчику посылается хэш, да? req.send({ q: query }); } var timeoutR = null; //эта функция вызывается на onKeyUp поля формы, только я не понимаю, зачем нужен таймер?? function doLoadUpParser() { if (timeoutR) clearTimeout(timeoutR); timeoutR = setTimeout(doLoadParser, 100); }А сейчас я покажу то, что для меня пока что непостежимо:
#как понимаю, здесь просматриваются поля "формы", т.е. все параметры страницы. Но до меня не доходит, откуда в $forma оказывается строка вида id::q , где id - какой то номер (тоже кстати не понял какой). В qwery оказывается строка, которую мы ввели в поле формы. Я думаю, что это значение последнего поля просматриваемой "формы", но, повторюсь, откуда же в $forma такая странная строка?? ^form:fields.foreach[field;value]{ $forma[$field] $qwerty[^untaint{$value}] } #здесь странная строка $forma разбивается на части #$uid - какой-то идентификатор, нужный для корректной работы кода #а вот $suid и $q я не понимаю зачем тут нужны !! Но если их убрать, ничё не работает ^forma.match[(.*):(.*):(.*)][g]{ $uid[$match.1] $suid[$match.2] $q[$match.3] } #хэш-результат $test[ $.food[$qwery] $.good[^math:md5[$qwery]] ] #отправка полученного хэша в jstestparser.js в виде # странный идентификатор # отладочная информация # сам хэш, предварительно обработанный в коде из auto.p JSHttpRequest.dataReady( $uid, 'DEBUG INFO', ^object2js[$test] )Наверно, это звучало немного глупо, но мне действительно не понятно как работает эта штука!! Я хотел вставить пару параметров, а не получается.