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

» AJAX

Автор: Mamay
Дата сообщения: 16.12.2006 15:24
Cheery полностью поддерживаю

дело всё в том что отправка запроса у тебя должна происходить по событиям
тобишь(onClick,onsubmit, onKeyPress, etc)

и в таком случае при нажатии на F5 ничего отправляться недолжно !!
Автор: Sky hawk
Дата сообщения: 04.01.2007 19:20
Господа, а кто нибудь знает как контент выводить через аякс?
т.е. нужно на страницу вывести (текст) информацию через аякс.
есть страница index.html, в неё инклудом вставляю file.php, вот хочу этот file.php подгружать через аякс.
спасибо.
Автор: Cheery
Дата сообщения: 04.01.2007 20:05
Sky hawk

Цитата:
Господа, а кто нибудь знает как контент выводить через аякс?

а почитать тему с самого начала? как раз речь об этом и идет везде.
Автор: safo
Дата сообщения: 15.01.2007 15:31
Кто поможет советом? Не получается абортить запрос в Firefox. Вылетает в исключительную ситуацию с неопределенной ошибкой. В общем, ошибка происходит при обращении к свойству status: if(req.status==200){
Автор: SergeiZZ2
Дата сообщения: 15.01.2007 19:07
safo
а весь ajax скрипт покажи
Автор: safo
Дата сообщения: 16.01.2007 07:40
Вот архив с тестовой страницей и рнр.

http://latebra.ru/test.rar

Требуется возможность использовать созданный объект xmlHTTPRequest повторно. Но при вызове abort() Firefox не желает принимать данные. Проскакивает сразу через состояния 2,4 и не обращает внимание на прибывший позднее ответ от сервера. В рнр-скриптах стоит задержка, чтоб нагляднее было.

Вот, собсно, требуется хелп...
Автор: safo
Дата сообщения: 17.01.2007 16:03
Повторное использование объекта xmlHTTPRequest в Firefox невозможно. Баг:

http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_a_1.html#link7

Оч жаль В IE работает как часики. Выход один - каждый раз создавать новый объект.

Автор: Borodino
Дата сообщения: 18.01.2007 02:18
AJX Tools 1.0
http://sourceforge.net/projects/ajxtools/
Автор: VividGirl
Дата сообщения: 18.01.2007 10:44
Странное заглавие темы. "Есть ли будущее". У меня встречный вопрос: а, что есть те кто думают, что у ajax будущего нет?
Автор: safo
Дата сообщения: 18.01.2007 12:44
Будущее будет, когда поисковики смогут JS исполнять...
А пока народ не очень хочет писать сайты с использованием ajax, слишком тяжело реализовать индексацию контента.
Автор: edogs
Дата сообщения: 18.01.2007 19:22
safo

Цитата:
А пока народ не очень хочет писать сайты с использованием ajax, слишком тяжело реализовать индексацию контента.

Аякс не для контента, аякс для управления контентом.
Те кто это понимает давно пишут на аяксе тот же рубоард сию технологию местами использует.
Автор: safo
Дата сообщения: 19.01.2007 09:58
edogs
Да какая разница, для управления, или еще как назвать?

Вот именно, руборд(и еще масса других раскрученных) местами используют. А полностью наполнить контент странички(или видоизменить) в фоновом режиме? Слабо?
Сразу потребуется что-то думать с индексацией. Поисковики ничего не увидят из того, что видит и загружает пользователь.
Можно, например, отдельную ссылку на скрипт, типа "версия для печати". И скармливать его поисковикам. Но, все это, головняк.


Автор: afiget
Дата сообщения: 19.01.2007 10:14

Цитата:
А полностью наполнить контент странички(или видоизменить) в фоновом режиме? Слабо?

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

Кроме проблем с поисковиками есть проблемы для пользователей.
Автор: safo
Дата сообщения: 19.01.2007 10:24
afiget
Это уже о другом. Это можно тоже отнести к недостаткам. Но, тем не менее, это делается. Как? Я тебе не расскажу, потому-как сам допрешь, если захочешь.

Уже создана ссылочная модель форума. Для примера http://latebra.ru/incube.htm?forum:1-1$10
Автор: WRFan
Дата сообщения: 21.01.2007 04:02
некоторые аяксные страницы у меня 100% цпу жрут. вот gmail например в аяксном режиме открыть невозможно, а в обычном html режиме без проблем. но микрозофтский XMLHTTP объект сам по себе совсем неплохая штука, в ИЕ7 он даже прямо в сам браузер встроен. я его часто для скачивания отдельных файлов использую, а потом через Adodb.Stream объект на хард сохраняю. микрозофт кстати тоже XMLHTTP объект используют (на MSDN страницах). и они кстати не так тормозят, как гмыло. гугал наверное думает, у всех 4-ый пентиум
Автор: Cheery
Дата сообщения: 21.01.2007 04:06
WRFan
проблемы, скорее, с браузером.. либо с тем, что на него навешено.
Автор: safo
Дата сообщения: 21.01.2007 11:27
WRFan

Цитата:
потом через Adodb.Stream объект на хард сохраняю


А можно подробнее. Или ссылочку. Можно в личку.
Автор: N Sensey N
Дата сообщения: 21.01.2007 23:59
У меня кешируются почему то результаты ajax скрипта (или php) не пойму...

Решение нашел такое -

вставил в скрипт

    var currentTime = new Date();
    var seconds = currentTime.getTime();

и в запросе

xmlObj.open ('POST','ajax_check_login.php?login='+name+'&seconds='+seconds, true);

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

в php скрипте уже че толлько не прописал...

header("Content-Type: text/html; charset=windows-1251");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

А все равно без добавления seconds к запросу - не помогают заголовки...

Это у всех так?



Автор: safo
Дата сообщения: 22.01.2007 08:36
N Sensey N
Наверное используете какую-то библиотеку? Показали бы скрипт.
Автор: N Sensey N
Дата сообщения: 22.01.2007 12:55
safo
не.. скрипт самописный... самый простой что есть...


Код: function Check_Login(name)
{
    var currentTime = new Date();
    var seconds = currentTime.getTime();

var xmlObj = null;
if (window.XMLHttpRequest)
{
xmlObj = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
    return false;
}
xmlObj.onreadystatechange = function()
{
if (xmlObj.readyState == 4)
{
if (xmlObj.status == 200)
{
if (xmlObj.responseText==1)
{
    alert('Этот ник занят. Попробуйте придумать другой!');
}
else
{
    alert('Ура! Ник свободен!');
    }
}
}
}

xmlObj.open ('POST','ajax_check_login.php?login='+name+'&seconds='+seconds, true);
xmlObj.send(null);
}
Автор: safo
Дата сообщения: 22.01.2007 17:19
N Sensey N
Скрипт нормальный. Должно работать.
А Вы на локальный сервер запросы шлете? Если нет, может прокси кеширует. И каким браузером? Для IE нужно xmlObj.send() делать. И попробуйте параметр login в send передавать xmlObj.send('login='+name), а в open только имя скрипта. После open поставьте в заголовок:
xmlObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
Еще попробуйте xmlObj.abort() в конце обработки овета

Больше пока ничего криминального не вижу.
Автор: WRFan
Дата сообщения: 26.01.2007 15:36

Цитата:
А можно подробнее. Или ссылочку. Можно в личку.



Код:
<SCRIPT LANGUAGE="vbscript">
Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
set ADOStream = CreateObject("Adodb.Stream")


XMLHTTP.open "GET", "http://www.desperateblog.com/wp-content/uploads/2006/05/hilary-duff-in-paris-airport-2.jpg", False
XMLHTTP.Send
ADOStream.type = 1 'adTypeBinary
ADOStream.open
ADOStream.write XMLHTTP.responseBody
dstfile2 = "c:\hilary-duff-in-paris-airport-2.jpg"
ADOStream.savetofile dstfile2, 2 'adSaveCreateOverWrite
ADOStream.close

</SCRIPT>
Автор: Borodino
Дата сообщения: 27.01.2007 07:33
удалено
Автор: safo
Дата сообщения: 28.01.2007 17:27
WRFan
Спасибо. Разберусь
Автор: myaGi
Дата сообщения: 30.01.2007 09:45
люди просвятите.
юзаю xajax.
есть index.php. внутри есть инклюд menu.php в котором подключаю xajax и выполняю банальную вставку текста. понимаю что это из-за вложенной инклюдности. если же делаю подключение xajax в самом index.php то все ок, но мне этот вариант не подходит, т.к. в menu.php идут определения переменных и т.п. что посоветуете?
Автор: 6epcepk
Дата сообщения: 30.01.2007 10:24
Во-первых, есть отделаьная тема по xajax'y.
Во-вторых, в чем проблема? Может при получение яваскрипта пути не правильно указал?
Автор: myaGi
Дата сообщения: 30.01.2007 11:34
ошибки вываливаются именно по поводу передачи данных а не по поводу подключения аякса
п.с. сорри за оффтоп
Автор: safo
Дата сообщения: 11.02.2007 07:47
myaGi
В подключаемом скрипте формируете Content-Type?
Автор: supervisork
Дата сообщения: 12.02.2007 13:04

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

http://webdesign.site3k.net/consulting/ajax.html (если написал коряво, звиняюсь - первый раз на этом форуме пишу, не знаю, как вставлять теги). Я не знаю, насколько пример нормальный, но там описаны все (или почти все) "За" и "Против". Суть такая:
1) Нового ничего, просто некоторые давно придуманные трюки постепенно становятся популярны.
2) Штука хорошая, но нужно учитывать некоторые вещи: юзер гасит яваскрипт из соображений безопасности (бывает), яакс не работает, сайт, построеный на нем - тайна белого экрана
3) АктивИкс вааще подавляется браузерами (они еще ругаются, мол компоненты не безопасны), надеяться на него нельзя
Общие выводы:
Выполнение подзапросов, для быстрого уточнения данных - проверка доступности имени юзера, выбор некоторого перечня товаров в соответствии с категорией и т. д., особенно, если скрипты учитывают возможность отключки технологии и способны расчитывать ТОЛЬКО не сервак - хорошо. Создание сайтов целиком полагающихся на браузер пользователя - плохо (не надежно, и пользователь же обматюкает, того, кто такой сайт сделает).
Автор: Reznikoff
Дата сообщения: 25.02.2007 05:54
Здраствуйте. использую JsHttpRequest
Есть форма. в ней допустим два поля (логин и емеил). При нажатии на кнопку, с помощью JsHttpRequest содержание этих 2х полей отправляется на сервер, тот что то делает и отвечает. Так вот. если ответ один (не ошибок), то данная форма должна обычным методом отправлятся на сервер, а если ответ другой (ошибка, логин занят), то с помощью дива показываю ошибку. вот примерный код:


Код:
<script type="text/javascript" language="JavaScript"
src="JsHttpRequest.js">
</script>
<script type="text/javascript" language="JavaScript">
function doLoad() {
    var req = new JsHttpRequest();
    req.onreadystatechange = function()
    {
        if (req.readyState == 4)
        {
            return true;
        }
    }
    req.open(null, 'ajax.php', true);
    req.send( { q: 'preved' } );
    return false;
    
}
</script>

<form id="frm" method="POST" onsubmit="return doLoad();">
Text: <input type="text" name="q">
<input type="submit" value="next">
</form>

<div id="result" style="border:1px solid #000; padding:2px"></div>

Страницы: 1234567891011

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


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