Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » AJAX

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Открыть новую тему     Написать ответ в эту тему

TBFG



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


 
Ссылки по теме.

Ajax - Википедия.  
Технология, которая перевернёт веб
Сверхдинамичные веб-интерфейсы
Subsys_JsHttpRequest: динамическая подкачка данных без перезагрузки страницы
xAJAX на NoNaMe
Неплохой обзор движка xAJAX; в статье приведены нагляные примеры.
 
AJAX Matters - Asynchronous JavaScript and XML and XMLHTTP development information
Dynamic HTML and XML: The XMLHttpRequest Object
Client/Server Gateway JSAPI
Using Perl to do AJAX
 
Ajax programming community
[05.04.06] HTTP Streaming

Всего записей: 584 | Зарегистр. 10-07-2004 | Отправлено: 18:30 22-08-2005 | Исправлено: 6epcepk, 21:07 18-04-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alextretyak
А откуда такие данные про гугл?
http://forum.ru-board.com/postings.cgi?action=edit&forum=31&topic=8511&postno=109
 
Что касается "двойного" контента, ну дык в vbulletin например это просто называется archive, внизу форума ссылка, а все остальное можно запретить.

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 18:39 07-06-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
К ajax еще не притрагивался.. пришло время...    Нужно сделать проверку на существование имени в мускуле.. по нажатию на кнопку... что вроде того как на https://accountservices.passport.net/reg.srf?id=2&sl=1&lc=1033    Может есть что где почитать?

Я бы посоветовал воспользоваться библиотекой xAJAX.
 
Вот скачай архив, я написал функцию (+ сама библиотека, вообщем только подставить данные для запроса и можно использовать) под xAJAX.
 


 

Цитата:
Что касается "двойного" контента, ну дык в vbulletin например это просто называется archive, внизу форума ссылка, а все остальное можно запретить.

Сейчас я сделал так: панель управления полностью на AJAX'e, а в пользовательской части только комментарии, рейтинги и т.п.
Если сделать сайт исключительно на аяксе, то он не будет индексироваться. Но если сделать внизу такую же "волшебную" ссылочку на обыкновенную версию, то будет все прекрасно.
Но тут встает вопрос о "двойном контенте" - клоакинге. Вообщем надо написать саппорту как роботы будут относиться к этому виду клоакинга ...

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 19:09 07-06-2006 | Исправлено: 6epcepk, 19:18 07-06-2006
Xrobak

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Может есть что где почитать?

возможно не идеальное решение, но все же почитать можно: http://webmascon.com/topics/technologies/13a.asp

Всего записей: 939 | Зарегистр. 16-08-2004 | Отправлено: 19:31 07-06-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk

Цитата:
версию, то будет все прекрасно.  
Но тут встает вопрос о "двойном контенте" - клоакинге. Вообщем надо написать саппорту как роботы будут относиться к этому виду клоакинга ...

Это не клоакинг. Это 2 версии сайта, равноправные, находящиеся по разным адресам.
Клоакинг подразумевает выдачу разного контента по одному адресу (под это кстати подпадают иногда и двуязычные версии сайтов).

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 00:24 08-06-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А как например ... вот пользователь нашел через поисковик страницу (index.php?mycatalogfun=5) и переходит на нее. Соотвественно все ссылки будут иметь ту же структуру и он будет ходить по "сайту для робота". Если же подкинуть перенаправление на аякс-версию, то это и будет клоакинг ...

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 00:41 08-06-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk

Цитата:
А как например ... вот пользователь нашел через поисковик страницу (index.php?mycatalogfun=5) и переходит на нее. Соотвественно все ссылки будут иметь ту же структуру и он будет ходить по "сайту для робота". Если же подкинуть перенаправление на аякс-версию, то это и будет клоакинг ...  

Что такое "подкинуть"?
Безусловно редиректить - нельзя (да и если вы сделаете безусловный редирект, то как поисковик страницу проиндексит? если конечно не яваскриптом редирект делать).
Значит просто выкинуть ссылку на полную версию? Дык это полностью легально.

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 01:01 08-06-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Клоакинк - когда поисковому роботу "подкидывают" другую версию сайта (проверяют по IP робот или нет).
 

Цитата:
Значит просто выкинуть ссылку на полную версию?

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

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 10:53 08-06-2006 | Исправлено: 6epcepk, 16:12 08-06-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ответ Рамблера

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 15:34 11-06-2006
alextretyak

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
N Sensey N

Цитата:
Нужно сделать проверку на существование имени в мускуле..

Ну напр. в моей либе это делается элементарно: в js-коде страницы нужно вызвать eajaxRequest('mysql_test.php',{name:'bla-bla-bla'},function (found) {if (found) alert('Имя найдено в БД'); else alert('Имя не найдено')});
И в самом файле mysql_test.php:
include 'eajax/eajax.php';
//MySQL connect
...........
eajaxResponse(mysql_num_rows(mysql_query("SELECT 1 FROM table_name WHERE name=$REQ[name] LIMIT 1")));
Как говорится, всё в пару строк.
 
edogs
Все данные по гугл взяты с раздела "Web-мастерам" на самом google.com, ну а вообще про поисковики — с разных источников, уже и не помню откуда.
 
6epcepk

Цитата:
Повторая загрузка контента?

Зачем? Я ж кстати объяснял тебе принцип. У меня сделано аналогично. И между прочим несколько страниц гугл уже внёс в индекс (посмотреть можно введя в google строку [ site:phpff.jino-net.ru ] ). Вроде всё работает (запрос в гугл EAJAX даёт ссылку на мой топик в первой десятке)... правда работает пока только в гугл, но возможно остальные поисковики не хотят идти вглубь по ссылкам просто из-за низкого рейтинга сайта.
Логи посещаемости не привожу, т.к. только обходных (work around) посещений (с адресом содержащим &NS) поисковиками более полста, причём гугл зашёл практически на все (предназначенные для поисковиков и текстовых брайзеров) страницы, а значит скоро и они попадут в индекс и могут быть отображены в результатах поиска.

Всего записей: 23 | Зарегистр. 19-03-2006 | Отправлено: 17:26 20-06-2006
SergeiZZ2



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот есть такой код  
как сделать что бы при повторном вводе значения запрос делался заново
например вводим 1 результат 2
изменяем эту строчку echo $search=$search+1;
на echo $search=$search+2;
и всеравно результат 2
 
<html>
<head>
  <title></title>
 
<script type="text/javascript" language="JavaScript">
<!--
var xmlhttp = false;
 
if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.overrideMimeType('text/xml');
} else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
 
function preSearch() {
        var theQuery = document.getElementById('query').value;
 
        if(theQuery !== "") {
                var url = 'ajax.php?q=' + theQuery;
                xmlhttp.open('GET', url, true);
                xmlhttp.onreadystatechange = function() {
                        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        document.getElementById('result').innerHTML = xmlhttp.responseText + ' ';
                        }  
                };
                xmlhttp.send(null);
        }
}
//-->
</script>
 
</head>
 
<body>
<div id="result">&nbsp;</div>
<form action="search.php" method="post">
<label for="query"><strong>Search:</strong>&nbsp;<input type="text" name="search" autocomplete="off" id="query" onKeyUp="preSearch()" /></label>
</form>
</body>
 
</html>
 
<?php
if(empty($_GET['q'])) {
    echo '&nbsp;';
} else {
     $search = trim($_GET['q']);
    echo $search=$search+1;
}
?>
 
Добавлено:
Все разобрался =ъ
нужно добавить в пхп фаил строчки
 
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

Всего записей: 54 | Зарегистр. 21-07-2005 | Отправлено: 01:14 27-06-2006 | Исправлено: SergeiZZ2, 01:24 27-06-2006
alextretyak

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeiZZ2
Хм. ИМХО, не факт, что все браузеры правильно воспримут эти хедеры. В спеке вообще написано, что GET-запросы через xmlhttpreq всегда кэшируются, и нужно использовать POST, если кэширование не нужно. Иногда (как в Subsys_JsHttpRequest) при использовании GET-запросов к строке после ? добавляют какую-нить приписочку, типа &1234567890, где число — это timestamp например, хотя это плохо, кэш браузера засоряет.

Всего записей: 23 | Зарегистр. 19-03-2006 | Отправлено: 15:27 28-06-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Наткрулся на интересрую подборку уроков. Советую почитать (;

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 17:35 05-07-2006
Andrewmailnew



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кому интересно <a href="http:\\***.narod.ru" >здесь</a> реализован AJAX который поддерживат Opera5+ IE5+ FF




У нас реклама платная /Cheery/

Всего записей: 17 | Зарегистр. 26-10-2003 | Отправлено: 13:11 11-07-2006 | Исправлено: Cheery, 23:32 11-07-2006
SergeiZZ2



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ни кто не встречал как сделать процентную загрузку на ajax?

Всего записей: 54 | Зарегистр. 21-07-2005 | Отправлено: 19:36 11-07-2006
N Sensey N



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Church
Спасиб... сделал по твоему примеру
Работает не нарадуюсь

----------
sPaiz-Nuke - Free PHP CMS Web Design and Development Портал для израильтян

Всего записей: 1409 | Зарегистр. 01-10-2002 | Отправлено: 20:36 11-07-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SergeiZZ2
Загрузку файла? Вот хороший пример http://slil.ru/22915395 Но progress bar в любом случае делается с использованием perl.

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 20:43 11-07-2006
N Sensey N



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Щас делаю проверку пароля на ajax так вот.. хочу что бы во время того как юзер вписывает пароль - пароль бы проверялся в реальном времени.. и взависимости от результатов проверки изменялся бы текст...
 
Проверку и связь сделал.. работает..  
 
Юзаю <input id="user_password" type="text" name="user_password" value="" onBlur="Check_Password(document.getElementById('user_password').value);">
<span id="password_check_text">Не подходит</span></td>
 
В скрипте  
 
  if (xmlObj.responseText==1)
{
     document.getElementById('password_check_text').innerHTML='Подходит';
   }
  else
 {
    document.getElementById('password_check_text').innerHTML='Не подходит';
}
 
Все работает - проблема в том что результаты проверки.. то есть иннер текст изменяется не в реальном времени... а только после того как мышкой нажмешь на любом месте страницы... а вот когда пишешь текст в инпуте - не изменяется одновременно...
 
Событие onchange дает то же эффект

----------
sPaiz-Nuke - Free PHP CMS Web Design and Development Портал для израильтян

Всего записей: 1409 | Зарегистр. 01-10-2002 | Отправлено: 21:31 11-07-2006 | Исправлено: N Sensey N, 21:33 11-07-2006
sTa1kEr



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
N Sensey N
Используй onkeypress.

Всего записей: 279 | Зарегистр. 28-07-2005 | Отправлено: 10:08 12-07-2006
kb82

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ, замучился совсем, делаю вроде простую вещь:
doLoad (param) {
var req = window.XMLHttpRequest?  
    new XMLHttpRequest() :  
    new ActiveXObject("Microsoft.XMLHTTP");
   
 
  req.open("GET", param, false);
  req.send(null);
  req.onreadystatechange =function() {
 if (req.readyState == 4)  
 fileContent=req.responseText;
   
 }
return fileContent;
   
 
}
 
чтобы потмо эту функцию вызвать например для заполнения какого-нить тэга:
document.getElementById('someid').innerHTML=doLoad(param) - выводит undefined - через alert работает - а через переменную загнать responseText - и возвращать его в функции не получается. в чем затык?

Всего записей: 122 | Зарегистр. 03-03-2005 | Отправлено: 10:03 21-07-2006 | Исправлено: kb82, 10:05 21-07-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kb82

Цитата:
чтобы потмо эту функцию вызвать например для заполнения какого-нить тэга:  

элемент c someid существует изначально или создается?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:22 21-07-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Компьютерный форум Ru.Board » Интернет » Web-программирование » AJAX


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru