Ru-Board.club
← Вернуться в раздел «Web-программирование»

» AJAX

Автор: ValeraI
Дата сообщения: 26.08.2005 17:19
Сделал у себя на сайте просмотр первого и последнего сообщения с использованием аякс что юзается на дклаб
http://rumagic.com/fastbb/
кликаем на [+/-]

Автор: batva
Дата сообщения: 26.08.2005 18:35
SiMM

Цитата:
кстати там наверно не самая удачная реализация - поскольку один и тот же контент грузится многократно, даже если раннее он уже был загружен в пределах этой-же странички.


У меня все кешируется, проверил сейчас в IE 6 и FireFox 1.0.6 + для чистоты эксперимента даже отключился от инета.

ValeraI

Цитата:
Сделал у себя на сайте просмотр первого и последнего сообщения с использованием аякс что юзается на дклаб
http://www.rumagic.com/forums/index.php?showforum=6
кликаем на [+/-]


Работает.

xntx

Цитата:
переходишь между папками и он каждый раз и грузит заново...

Грузит, или просто обращается на сервер чтобы проверить не обновилось ли?


Автор: Break_Action
Дата сообщения: 26.08.2005 19:35
batva
Спасибо за проверку и утверждение, а то человеку который нехочет верить, все равно ничего не докажешь.
Автор: Say26
Дата сообщения: 26.08.2005 19:43
SiMM

Цитата:
А потом, взглянув на очередной счёт за инет, ужаснуться и начать искать источник абсолютно бесполезного траффика. Для таких вещей существуют специальнопредназначенные для этого протоколы и ПО, а ля ICQ, IRC & etc. А делать чат из форума - это, извините, гвозди микроскопом забивать - предназначения - абсолютно различны.

Не совсем понял о чем вы ? Я про то, что на некоторых сайтах существует ограничение в 30 секунд между постами. Т.е написал в одной теме, а потом, например, через 20 секунд в другой, то на следующей странице форум выдаст ошибку. При использовании динамического <script> наоборот экономия траффика получается.
Автор: Bug
Дата сообщения: 29.08.2005 12:44
Вот не плохая ссылка в тему про аякс http://www.ajaxmatters.com/r/welcome
На мой взгляд будет очень полезной, это подборки разных статей и материалов по аяксу, правда на англ а не на русском но я не думаю что в этом может быть реальная проблемма.
Автор: 5p0rt10t0
Дата сообщения: 30.08.2005 10:58

Цитата:
И вообще, господа, есть ссылки на нормальные примеры, кроме gmail.com?
Хочется посмотреть в действии.

google maps - maps.google.com
google suggest - http://www.google.com/webhp?complete=1&hl=en
Автор: SplideX
Дата сообщения: 10.09.2005 12:15
кстати поисковики не будут такое индексить, потому надо будет карту сайта полюбому делать.
имхо тогда всё будет %)
Автор: ValeraI
Дата сообщения: 10.09.2005 19:03

Цитата:
кстати поисковики не будут такое индексить

Само собой, так же они не индексируют джаваскрипты, и тексты внутри флешек.


Цитата:
надо будет карту сайта полюбому делать

Помоему на аяксе делать целый сайт нет смысла... Это почти тоже самое что сделать сайт чисто на одном флеше или джаваскриптах.
А вот для форума самое то, приват без решреша почитать, письмо кому-нибудь отправить и тем более такая информация и не нуждается в индексировании поисковиками.
Автор: SplideX
Дата сообщения: 13.09.2005 11:21
ValeraI
НУ почему сайт нет смысла делать.
меня например напрягает постоянный загруз страничек, приятно же Gmail юзать.
просто надо найти грамотно середину золотую

Добавлено:
подскажите нормальную AJAX библиотеку для PHP.

я слил себе пару штук с sf.net. Но они калечно с оперой работают. В опере есть такая штука, которая при выводе странички добавляет к ней Javascript в тело.
типа такого


Код:
<!--//--><script>var PrxLC=new Date(0);var PrxModAtr=0;var PrxInst; if(!PrxInst++) PrxRealOpen=window.open;function PrxOMUp(){PrxLC=new Date();}function PrxNW(){return(this.window);} function PrxOpen(url,nam,atr){ if(PrxLC){ var cdt=new Date(); cdt.setTime(cdt.getTime()-PrxLC.getTime()); if(cdt.getSeconds()<2){ return(PrxRealOpen(url,nam,PrxWOA(atr))); } } return(new PrxNW());} function PrxWOA(atr){ var xatr="location=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes"; if(!PrxModAtr) return(atr); if(atr){ var hm; hm=atr.match(/height=[0-9]+/i); if(hm) xatr+="," + hm; hm=atr.match(/width=[0-9]+/i); if(hm) xatr+="," + hm; } return(xatr);}window.open=PrxOpen;</script>
<!--//--><script> function NoError(){return(true);} onerror=NoError; </script>
<!--//--><script> function moveTo(){return true;}function resizeTo(){return true;}</script>


тут сама страничка

<!--//--><script>if(document.layers){document.captureEvents(Event.MOUSEUP);}document.onmouseup=PrxOMUp;</script>
Автор: SiMM
Дата сообщения: 13.09.2005 22:30

Цитата:
НУ почему сайт нет смысла делать.
Читайте внимательно, а не через строчку.
Цитата:
на аяксе делать целый сайт нет смысла
(подозреваю, что "целый" надо читать как "весь")
Цитата:
В опере есть такая штука, которая при выводе странички добавляет к ней Javascript в тело.
При чём тут опера? Либо вырубите нафиг свой прокси сервер (коим, по ходу, является Proxomitron), либо же вырубите в нём соответствующий фильтр.
Автор: xy
Дата сообщения: 16.09.2005 10:47
Я в шоке от мощности и простоты реализации благодаря DKLabs %)
Автор: pite
Дата сообщения: 03.12.2005 13:35
Решил запостить решение для вчитывания внешних файлов для разных браузеров с помощью "XMLHttpRequest()" и "Microsoft.XMLHTTP". Работает также с кодировкой UTF-8. Может кому пригодится.
Скачать скрипт
P.S.: Буду очень благодарен, если кто протестирует этот скрипт под другими браузерами и сообщит мне об этом в ПМ. Также буду рад если кто установив что под какимто браузером скрипт не работает найдёт решение для этого браузера и сообщит мне в ПМ.

Код: <script type="text/javascript" language="javascript">
// FileRead
/*
Mozilla 0.9.6, Linux (Debian).
Mozilla 0.9.7, NT4.
Mozilla 0.9.8, Linux (Red Hat 7.1).
Mozilla 0.9.9, Win2000.
Mozilla 0.9.9, NT4.
Mozilla 0.9.9, Linux (Red Hat 7.2).
Mozilla 1.0 RC1, FreeBSD.
Netscape 6.1, NT4.
Netscape 6.2.1, Win2000.
Netscape 6.2.2, Win2000.
Netscape 6.2.2, NT4.
Netscape 6.2.2, Linux (Debian).
Netscape 7 Win2000
Netscape 8 Win2000
Firefox 1.07 Win2000
Firefox 1.5 Win2000
Opera 8.51 Win2000
Avant Browser 10 Win2000
Internet Explorer 6.0 SP1 Win2000
*/


function ReadFile(fileUrl) {
    var req;
    var fileContent;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.open("GET", fileUrl, false);
        req.send(null);
        fileContent = req.responseText;
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        req.open("GET", fileUrl, false);
        req.onreadystatechange=function() {
                                    if (req.readyState == 4) {
                                        fileContent = req.responseText;
                                    }
                                }
        req.send(null);
    }
    return fileContent;
}// FileRead End


alert(ReadFile("Russian.lng"));
</script>
Автор: Paha_W
Дата сообщения: 23.01.2006 07:06

Цитата:
подскажите нормальную AJAX библиотеку для PHP.

кажется нормальная
http://www.xajaxproject.org/
еще на dklabs есть свои наработки
http://dklab.ru/lib/Subsys_JsHttpRequest/


Добавлено:
http://www.modernmethod.com/sajax/
Автор: c0r0ner
Дата сообщения: 23.01.2006 10:16
http://ajaxpatterns.org/PHP_Ajax_Frameworks
И для дрругих, на всяк случай - http://ajaxpatterns.org/Ajax_Frameworks
Автор: CoolKonig
Дата сообщения: 25.01.2006 14:56
Помогите сделать следующее.
Делаю по технологии Subsys_JsHttpRequest
Еще пытаюсь сделать форму с 2 полями для ввода, допустим логина и пароля. Ввожу логин - если неправильно, ошибка, далее пароль - неправильно, ошибка. Делаю так:

Цитата:

. . .
var query = '' + document.getElementById('query').value;
var name = '' + document.getElementById('query').name;
. . .
req.send({ data: query, name: name, test:303 });
. . .
<form onsubmit="return false">
<input type="text" name="login" id="query" onkeyup="doLoadUp()">
<input type="text" name="password" id="query" onkeyup="doLoadUp()">
</form>

Но при вводе в первое поле не срабатывает ничего, во второе срабатывает... вообще не могу сообразить как два по очереди поля проверять... =\ Подскажите пожалуйста
Автор: Paha_W
Дата сообщения: 26.01.2006 02:18
CoolKonig
Наверное это
http://www.xajaxproject.org/examples/signup/signup.php
http://www.xajaxproject.org/
Автор: pite
Дата сообщения: 29.01.2006 15:41
http://www.backbase.com/#home/home.xml[0]
Автор: CoolKonig
Дата сообщения: 31.01.2006 17:21
Кто подскажет, использую Subsys_JsHttpRequest
там есть скрипт load.php
как мне сделать вывод Java скрипта например такого:
<script language=JavaScript> alert ('Заполните все поля!'); </script>
Он его попросту пропускает =\
Автор: Church
Дата сообщения: 31.01.2006 18:03
CoolKonig
Двигайся в сторону "eval"
Автор: CoolKonig
Дата сообщения: 01.02.2006 09:29
Я извиняюсь что в этой теме это спрашиваю.
Как выполнить JavaScript через eval?
На моем примере, я пробовал по разному, но пропускает также...


Добавлено:
Т.е вот так вот не обрабатывается в load.php

Цитата:

$str = "<script language=JavaScript>window.alert('Введите e-mail!');</script>";
echo $str;
eval( "\$str = \"$str\";" );
echo $str;
Автор: hyphen
Дата сообщения: 07.02.2006 20:27
CoolKonig
я не знаю php,
но в javascript это должно быть так:
s="alert('gggggggggggg');";
eval(s);
тэг script не нужен
только текст на javascript
Автор: Brodyaga
Дата сообщения: 09.03.2006 13:19

Цитата:
$str = "<script language=JavaScript>window.alert('Введите e-mail!');</script>";
echo $str;
eval( "\$str = \"$str\";" );
echo $str;

Нужно просто различать абреввиатуры РНР и JS.
eval в РНР выполняет РНР код, в JS соответственно JS код.
Автор: N Sensey N
Дата сообщения: 09.03.2006 14:14
ValeraI

Цитата:
Сделал у себя на сайте просмотр первого и последнего сообщения с использованием аякс что юзается на дклаб
http://www.rumagic.com/forums/index.php?showforum=6
кликаем на [+/-]


все что для этого нужно это http://www.rumagic.com/forums/jscripts/Js.js + обработка запроса на php? в чем заключается обработка на php? как обычно.. или же там какой то другой принцип?
Автор: Brodyaga
Дата сообщения: 09.03.2006 14:19
Как обычно, получается запрос, возвращается последнее или первое сообщение.
Но в dklab'овском варианте, весь выходной поток выводится как стандартная JS программа, т.к. динамически формируется тег <script>.
Автор: Sergeant
Дата сообщения: 10.03.2006 01:49
Всем привет!

У меня проблема с передачей строки с кириллическими символами из Javascript в PHP.. кодирую в Javascript-функции строку методом encodeURIComponent(), потому как escape() делает не совсем то, что надо. В самом PHP-скрипте для отладки делаю print_r($_REQUEST); В итоге получаю интересную картину.

Если в скрипте принудительно указать
Код: header("Content-Type: text/html; charset=windows-1251");
Автор: VolxV
Дата сообщения: 10.03.2006 19:14
Sergeant, Kukutz utf_decode.
Автор: Sergeant
Дата сообщения: 11.03.2006 02:07
VolxV
Большое спасибо! Если у кого ещё потребность будет, то вот прямая ссылка без необходимости гуглить.
Автор: mwiden
Дата сообщения: 11.03.2006 18:55
CoolKonig
а вообще, на будущее, чтобы тэг script отрабатывал во время динамической вставки этого тэга и чтобы процедуры, описаные нем, "засасывал" интерпретатор JS нужно указать параметр defer тэга скрипт. по дефолту он false. Важно его присутсвие а не значение - иначе скрипт обработан не будет.
Автор: Oleg_Tarusov
Дата сообщения: 14.03.2006 01:42

Цитата:
В этой теме хочется услышать мнения людей о технологии AJAX. В особенности интересно, если кто-то ее реализовал в действующих проектах. По моему технология заслуживает доверия, но естевственно, пойдет ли она в массы, зависит только от нас - т.е. WEB - разработчиков.



Цитата:
У меня проблема с передачей строки с кириллическими символами из Javascript в PHP..

Человек промахнулся темой.

Вот ещё один пример с ajax'om
http://msdn.microsoft.com/library/default.asp
Автор: Port22
Дата сообщения: 15.03.2006 14:50
Вопрос. Просьба сильно не пинать!

Использую XMLHttpRequest.
Имеется форма в которую хочу записать данные из следующего ответа в responseText

-----------------------------------------------------------------------------------------------------------
Content-Type: text/plain

{"accounted_place" : undef,"adm_login" : undef,"adm_password" : undef,"area" : "\316\317\327\301\321","arp" : "00:80:48:12:ae:34","arp_status" : "OK","building" : 5,"buy_date" : undef,"buy_firm" : undef,"cpu" : undef,"created" : "2006-01-19 09:27:25.464193","dns_status" : "OK","hdd" : undef,"hostname" : "crystal-1","ip" : "192.168.201.108","monitor" : undef,"os_version" : undef,"owner" : "lapko","phone" : "65-23","r_created" : "19-01-2006","ram" : undef,"room" : 425,"server" : "IvanDraga","server_port" : "eth2","switchon" : 1,"type" : "station"}
-----------------------------------------------------------------------------------------------------------
Пробую сделать
response_obj = eval ((String(req.responseText).replace(/undef/g, '\"\"')).valueOf())

При прогонке в FF выдаёт ошибку - "invalid label"

Спасибо!

Добавлено:

Сорри за мусор решение нашлось!

response_obj =
eval (' new Object(' + (String(req.responseText).replace(/undef/g, '\"\"')) + ')' );

Страницы: 1234567891011

Предыдущая тема: mod_rewrite: документация, готовые решения, вопросы


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.