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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrNight
Здесь скрипты не ищут.
Скрипты гостевых книг (guestbook)

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:12 03-04-2007
MrNight



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

Всего записей: 364 | Зарегистр. 09-07-2005 | Отправлено: 20:22 03-04-2007
Shlakoblok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я пользуюсь sajax
всего один файл, поддержка нескольких языков, очень удобно...

Всего записей: 45 | Зарегистр. 12-12-2006 | Отправлено: 06:27 07-04-2007
iogun



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как сделать динамический грид на странице, например также как работает почта на gmail, что бы данные (из БД) обновлялись в нем без нажатия каких либо кнопок

Всего записей: 477 | Зарегистр. 31-08-2004 | Отправлено: 10:33 15-04-2007
Shlakoblok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iogun,
Перейди по ссылке постом выше. Скачай последнюю версию. Там есть наипростейшие примеры, которые думаю очень легко понять. Например там есть пример: в браузере отображается время сервера которое регулярно обновляется без перезагрузки страницы. Если ты в том же примере заменишь время сервера на что-то другое, то сможешь увидеть например резльтат запроса к БД. Да и вообще можно передать что угодно. Главное посидеть и немного разобраться.
 
Ну вот простой пример использующий sajax:

Код:
 
<?
//reload.php
require("sajax.php");
function isreload()
{
  $result = mysql_query("Выбрать в БД все новые личные сообщения");
  if (mysql_num_rows($result) > 0)
  {
    $reload['mes'] = '1';
    mysql_query("Добавить что о новых сообщениях больше не напоминать пока не будут прочтены все");
  }
  $result = mysql_query("Проверить, есть ли какая новость");
  if (mysql_num_rows($result) > 0)
  {
    $new = mysql_fetch_array($result);
    $reload['new'] = $new['title'];
  }
  return $reload;
}
 
sajax_init();
//$sajax_debug_mode = 1;
sajax_export("isreload");
sajax_handle_client_request();
    
?>
<script language="javascript">
<?
sajax_show_javascript();
?>
    
function do_isreload_cb(reload)
{
  if (reload['mes'])
    if (confirm ('У вас есть новые сообщения. Перейти в раздел "Личные сообщения"?'))
      document.location.href = "index.php?mod=private";
  if (reload['new']) getelementsbyid.....value = и тут к нему можно прибавить reload['new'];
}
 
function do_isreload()
{
  x_isreload(do_isreload_cb);
}
 
function timer()
{
  do_isreload();
  setTimeout("timer()", 20000);
  return false;
}
 
timer();
</script>
 

Надеюсь разберетесь...

Всего записей: 45 | Зарегистр. 12-12-2006 | Отправлено: 08:07 19-04-2007
PRGMM

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Определенно будущее есть. Вот пока простой сайт с использованием ajax www.***.org
 тут раздел шаблоны использует часть чужого сайта , тоже технология ajax www.***.org




Поздравляю с баном /Cheery/

Всего записей: 11 | Зарегистр. 22-04-2007 | Отправлено: 23:32 04-05-2007 | Исправлено: Cheery, 23:33 04-05-2007
Borodino

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Адоб разработал инструментарий для AJAX-разработок (пока ещё prerelease)
 
Новый инструментарий ..."получил название Spry и представляет собой интегрированную среду с библиотеками JavaScript. По словам представительницы Adobe Дженнифер Тэйлор, Spry позволит разработчикам создавать сайты на основе AJAX без необходимости изучения новых языков программирования и комплексных моделей. Инструментарий Spry характеризуется высокой гибкостью и простотой использования..."
 
http://labs.adobe.com/technologies/spry/
там есть и Live Demos

Всего записей: 585 | Зарегистр. 17-08-2006 | Отправлено: 04:08 13-05-2007 | Исправлено: Borodino, 04:09 13-05-2007
venoel



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Внимательно и с интересом прочитал эту ветку, но ответа на интересующий меня вопрос не нашел. Два дня ломал голову, удача пришла под конец рабочего дня. Вот здесь писали, что дл IE скрипт вызванный с помощью XMLHttpRequest() должен данные возвращать в кодировке UTF-8. Долго я бился но у меня получилось... наоборот.  
 
Задача следующая. Юзер вводит код - надо рядом показать наименование(в кириллице), соотвествущее этому коду. Версия Oper'a - 9.21, версия IE 6.0.2900.2180.xpsp_sp2_gdr.070227-2254. Win XP SP2. Apache 2.0.54.
 
код javascript
Код:
 
function getXMLHttp(){ // Ну в общем стандартно...
  var XMLHttp=null;
  if (window.XMLHttpRequest) {
    try {
      XMLHttp=new XMLHttpRequest();
    } catch (e) {}
  }
  else {
    if (window.ActiveXObject){
       try {
         XMLHttp=new ActiveXObject("Msxml2.XMLHTTP");
       }  
       catch (e) {
         try {
           XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");        
         }
         catch (e) {}
       }
    }
  }
 return XMLHttp;
}
 
function getStancName(){
  lookupname = '';
  var XMLHttp = getXMLHttp();
 XMLHttp.open('get','lookupbyajax.php?lu_stank='+document.getElementsByName('stank')[0].value+'&tand='+Math.random());
// При раскоментированой этой строке в IE выдает ошибку номер "минус xxxxxxxxxxx"
//  XMLHttp.setRequestHeader("Content-type","content='text/plain; charset=UTF-8'");
  XMLHttp.onreadystatechange = function(){
                                  if (XMLHttp.readyState == 4){                                   document.getElementById('lu_stancname').innerHTML=XMLHttp.responseText;
                                  }
                                }
  XMLHttp.send(null);
}
 

 
Код PHP lookupbyajax.php
Код:
<?php  
// Когда это раскоментировано - то в Oper'a работает. В IE - нет.
//header("Content-type: content='text/plain; charset=UTF-8'");
 
// Если не отдавать заголовок для Oper'a, тогда она бред показывает.
if (!eregi("MSIE",$_SERVER["HTTP_USER_AGENT"])) // Опера или Mozilla Firefox, но по крайней мере не Microsoft Internet Explorer
  header("Content-type: content='text/plain; charset=WINDOWS-1251'");
 
include_once("const.inc.php");
 
ob_start();
 
$connection=connect(); // См. const.inc.php
$IBT1=ibase_trans(...);
 
$SQLStancName="select station ........";
 
if (isset($_GET["lu_stank"])){
  $res=ibase_query($IBT1,$SQLStancName,$_GET["lu_stank"]);
  $Fields=ibase_fetch_assoc($res);
  echo $Fields["LOOKUPNAME"];
}
ibase_commit($IBT1);
 
$data=ob_get_contents();
ob_end_clean();
 
// Даже при раскоментированой этой строке - в IE не работало.
// mb_convert_variables("UTF-8","CP-1251",$data);
 
echo $data;
?>

 
Код полностью рабочий. Может кому-то поможет.

Всего записей: 16 | Зарегистр. 09-01-2004 | Отправлено: 16:18 02-07-2007 | Исправлено: venoel, 16:20 02-07-2007
Barakud



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну хз как у тебя - у себя я сделал две вещи чтобы кирилица пахала без запарок :
1. В начале каждого скрипта который должен аяксу возвращать текст я поставил: header('Content-type: text/html; charset=windows-1251;');
2. В запросах поставил : this.request.setRequestHeader('Content-type', 'text/plain; charset=windows-1251;'); Хотя не думаю что оно нужно особо (т.к. поставил тока в гет-запросах, но при этом даже пост-формы возвращают кирилицу нормально).
Работает в ИЕ, ФФ, Опера.

Всего записей: 100 | Зарегистр. 03-10-2004 | Отправлено: 09:04 03-07-2007
venoel



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
признаюсь, в коде php закралась ошибка.
вместо

Код:
header("Content-type: content='text/plain; charset=UTF-8'");

надо писать  

Код:
header("Content-type: text/plain; charset=UTF-8");

 
Таким образом при отсылку запроса  setRequestHeader я не использую.
А в PHP скрипте использую строки  

Код:
header("Content-type: text/plain; charset=UTF-8");
...
mb_convert_variables("UTF-8","CP-1251",$data);
 

 
Проверено для  
- Win XP
  Opera 9.21
  IE 6.0.2900.2180.xpsp_sp2_gdr.070227-2254
- Win98  
  IE 5.00.2614.3500
  IE 6.0.2600.0000
 
Хотя при определенных настройках Apache и других (таинственных для меня)обстоятельствах IE иногда понимал ответы в кодировке Win-1251. Наблюдал также интересный момент, когда при обращении к одной и той же странице, на одном и том же сервере Apache(WinXP), с одинаковой версии IE (5.00.2614.3500), но с разных машин (Win98) получались разные результаты. Одна машина принимала кодировку UTF-8, другая нет. При изменении кодировки ответа на Windows-1251 ситуация становилась зеркальной.  
 

Всего записей: 16 | Зарегистр. 09-01-2004 | Отправлено: 13:08 03-07-2007
Qwezar



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

Код:
 
var httpRequest = createHttpRequest();
 
function createHttpRequest() {
  var httpRequest;
  var browser = navigator.appName;
   
  if (browser == "Microsoft Internet Explorer") {
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
    httpRequest = new XMLHttpRequest();
  }
   
  return httpRequest;
}
 
function process(n) {
    name = document.getElementById(n).value;
    document.getElementById('divMessage').innerHTML = "<img src='images/upload.gif'>";
    httpRequest.onreadystatechange = getRequest;
    httpRequest.open("POST", "quickstart.php");
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251');
    httpRequest.send("id=" + name);
}
 
function getRequest() {
 
   if (httpRequest.readyState == 4) {
      document.getElementById('divMessage').innerHTML = httpRequest.responseText;
   }
   
}
 

 
В Opera 9.26 запрос возвращается 2 раза, т.е. вместо 'текст' выводится 'тексттекст'
В IE 6 при первой выборке запрос возвращается, при повторной зависает
 
В чем ошибка?

Всего записей: 360 | Зарегистр. 31-12-2006 | Отправлено: 14:47 14-03-2008
UncoNNecteD



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

Цитата:
AJAX... есть ли будущее

оно наступило!

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 23:35 14-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UncoNNecteD
А если без флейма?

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:10 15-03-2008
kimanenok

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ajax - это хорошо...
меня лично напрягает, когда страница перегружается вся, когда нужно обновить маленький блочок, или когда табы на странице грузятся в дивы (все сразу) а потом показываются без обновления (все равно я это уже скачал... а если трафика жалко?).

Всего записей: 19 | Зарегистр. 20-04-2007 | Отправлено: 10:15 19-03-2008
Mira



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

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

а вы посмотрите на это со стороны статистики

Всего записей: 1627 | Зарегистр. 25-11-2003 | Отправлено: 11:19 19-03-2008
JamesMcAlt



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как можно брать rss ленты с других сайтов и выводить информацию динамически на своем? С обновлениями на лету.

Всего записей: 23 | Зарегистр. 09-12-2006 | Отправлено: 14:19 06-05-2008
Cheery



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

Цитата:
Подскажите как можно брать rss ленты с других сайтов и выводить информацию динамически на своем?

добавить скрипт на сайт, который будет забирать эти ленты и выдавать как с того же домена, с которого и бегает js скрипт с ajax

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:41 06-05-2008
pingvin1



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

Цитата:
Дело в том, что эта технология действительна работает и работает как надо, пример можете видеть на www.gmail.com  

Интересно, ни в google.com, ни в  gmail.com нет файлов XML , хотя без данных файлов невозможна технология ALAX ?

Всего записей: 66 | Зарегистр. 05-02-2007 | Отправлено: 18:59 17-06-2008
Cheery



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

Цитата:
Интересно, ни в google.com, ни в  gmail.com нет файлов XML , хотя без данных файлов невозможна

перечитайте еще раз и не один раз.
не нужны xml файлы.. вообще
отдаваемые данные могут генериться и скриптом и необязательно в xml формате

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:43 17-06-2008 | Исправлено: Cheery, 19:50 17-06-2008
pingvin1



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исходя из аббревиатуры любой AJAX должен содержать XML код, если этого кода нет, то это уже не AJAX. А любая программа XML имеет расширение xml. Если я не прав, то подскажите.

Всего записей: 66 | Зарегистр. 05-02-2007 | Отправлено: 16:25 19-06-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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