Вверх ↑
Этот топик читают: Гость
Ответов: 574
Рейтинг: 1
#1: 2007-06-08 20:07:41 ЛС | профиль | цитата
Dilma, я очень наслышан о данной технологии и хотел бы научиться её пользоваться с помощью HiAsm. Можно пример с примерением AJAX? Компонент есть - подсказок в нём нет. Если можно - с небольшими пояснениями пример.

Спасибо!
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2007-06-09 10:54:25 ЛС | профиль | цитата
Во-первых, которко о технологии: под AJAX понимают создание клиентских приложений, отображающих и получающих контент документа динамически без перезагрузки страницы. По большому счету AJAX это некоторая идеология нежели технология. Самым интересным(и наверно ключевым) в AJAX является объект XMLHttpRequest, позволяющий динамически запрашивать информацию с сервера средствами JavaScript.

Вот пример совсем простого AJAX приложения с использованием соответствующего компонента:
http://dev.hiasm.com/src/Project2.html

code_1535.txt

Пример позволяет вставить внутрь HTML документа информацию, взятую с сайта, указанного в поле ввода. Внимание : пример не работает в опере. В IE при повышенных настройках безопастности он тоже работать не будет. Связано это с тем, что браузеры не дают загружать данные с любого другого сайта кроме того, с которого была загружена сама страница.

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

Так же еще один важный момент: при разработки AJAX приложений у всех элементов, к которым предпологается динамиской обращение из JavaScript, должны быть обязательно указаны в свойствах поля Id. Иначе работать ничего не будет. Впрочем отловить такую ошибку достаточно просто: браузеры обычно выводят в логи информацию о том, что не был найден какой-то объект - первый признык того, что Id либбо не указан, либо указан, но не верно.
карма: 27
0
файлы: 1code_1535.txt [1.5KB] [734]
Ответов: 574
Рейтинг: 1
#3: 2007-06-09 20:28:21 ЛС | профиль | цитата
Dilma, спасибо за информацию, очень полезно. Но хотел я знать чуточку другое... Меня интересует как СЕРВЕР обрабатывает мой запрос!

1. Скажем так. Есть php файл. Как мне ему передать параметры через AJAX, чтобы он знал, что выдавать в ответ? К примеру. Через AJAX передаем "1". В ответ PHP генерирует мне текст с сообщением "Вы выбрали 1". И затем этот текст поместится в div. Если можно, то хочу примеры с GET и POST.

2. Я видел у компонента методы GET и POST. Я знаю как с ними работать в PHP, посему прописал в URL компонента мой_файл.php?a=1. Но не сработало для метода GET. Значит я не прав. А вот в чём именно?

HTML и PHP я понимаю, но на уровне чуть выше новичка. JS начал изучать недавно. Вот и развиваюсь А уметь пользоваться AJAX давно мечтаю!

Спасибо тебе, Дмитрий! Ты проделал большую работу!
карма: 0

0
Ответов: 574
Рейтинг: 1
#4: 2007-06-10 13:48:26 ЛС | профиль | цитата
Всё, Дима, разобрался! Всё что выше я написал - я делал правильно и правильно понял. У меня же ДЕНВЕР стоит, а я не правильно путь свой страницы указывал, вот и получал ошибочный запрос!

СПАСИБО ТЕБЕ!
карма: 0

0
Ответов: 574
Рейтинг: 1
#5: 2007-06-10 14:43:26 ЛС | профиль | цитата
Дубль 2.

С GET разобрался, а с POST не пойму как действовать... Нашёл тут статью хорошую с подробным описание AJAX, но через GET. Ссылка: http://www.realcoding.net/article/view/4376. Теперь я понял, что это за цифры "4" и "200" ты использовал в схеме.

Например. Имеем форму. В ней текстовое поле. Как передать в качестве параметра через POST значение этого текстового поля php-скрипту? Форма:


<form name="forma" action="ajax.php" method="post">
<input type="text" name="text">
<input type="submit" value="POST!">
</form>

Вот. Как бы мне передать текст, чтобы получить его в php через массив $_POST['text']?
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2007-06-13 10:23:53 ЛС | профиль | цитата
Yuriy, еще раз замечу:
Dilma писал(а):
под AJAX понимают создание клиентских приложений, отображающих и получающих контент документа динамически без перезагрузки страницы

XMLHttpRequest - это всего лишь инструмент передачи данных от сервера к клиенту.

Yuriy писал(а):
а с POST не пойму как действовать

примеров с POST найти сложно потому, что отправлять запросы таким образом нужно только в самых крайних случаях. Однако при большой необходимости делается это через ручное формирование тела запроса(точка Content в компоненте). Думаю позже будет специальной компонент для формирования POST запроса, поскольку данная необходимость возникает достаточно часто
карма: 27
0
Ответов: 574
Рейтинг: 1
#7: 2007-06-13 21:05:21 ЛС | профиль | цитата
Гм.. Для меня это странно вот почему. Берём страницу форума. Юзер написал сообщение длинной в 1000 символов. А как я его в базу с помощью AJAX кину? Ведь GET способен передавать 250 символов, вроде. Или 250 символов - ограничение при работе с браузером? А при работе с AJAX какие ограничители? Или можно свободно работать с GET?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#8: 2007-06-13 23:24:33 ЛС | профиль | цитата
Вообще то интересно, но понять сложновато:
Dilma писал(а):
примеров с POST найти сложно потому, что отправлять запросы таким образом нужно только в самых крайних случаях. Однако при большой необходимости делается это через ручное формирование тела запроса(точка Content в компоненте). Думаю позже будет специальной компонент для формирования POST запроса, поскольку данная необходимость возникает достаточно часто

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 574
Рейтинг: 1
#9: 2007-06-14 07:52:15 ЛС | профиль | цитата
Tad, вот-вот. Я тоже не пойму.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2007-06-14 10:23:12 ЛС | профиль | цитата
Yuriy писал(а):
Юзер написал сообщение длинной в 1000 символов

Устанавливается эксперементальным путем,

Tad писал(а):
Вообще то интересно, но понять сложновато:

Отправка запросов POST через XMLHttpRequest выполняется реже чем через GET. Однако необходимость в компоненте для формирования POST запроса возникает достаточно часто, потому что применяется не только в XMLHttpRequest. Стоило выделить красным только последнее предложение - вопрос сразу бы снялся...
карма: 27
0
Ответов: 574
Рейтинг: 1
#11: 2007-06-14 14:57:17 ЛС | профиль | цитата
Dilma, хорошо. Научи, пожалуйста, передавать данные через POST! Я не прошу схему, с удовольствие приму и в виде HTML+AJAX!

А то в интернете не могу найти подходящий пример.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#12: 2007-06-14 17:01:35 ЛС | профиль | цитата
С последними правками на SVN передача параметров на сервер через POST запрос выглядит как посылка контента ввиде:
<param name 1>=<param value>[&<param name 2>=<param value]...

Например:
code_1553.txt

[size=-2]------ Добавлено в 17:01
На сервере стоит такой обработчик:
Add(EntryPoint,14304184,21,105)
{
link(onStart,10002528:doStrCat,[])
}
Add(Vars,12362945,70,49)
{
Name="test"
}
Add(Echo,12749587,119,105)
{
}
Add(StrCat,10002528,70,105)
{
Str1="test = "
link(onStrCat,12749587:doEcho,[])
link(Str2,12362945:Post,[(83,93)(76,93)])
}
карма: 27
0
файлы: 1code_1553.txt [1.6KB] [673]
Ответов: 574
Рейтинг: 1
#13: 2007-06-14 20:16:51 ЛС | профиль | цитата
Dilma, посмотрел. Возможности те же самые, что и с GET, получается? Опять вижу ограничение в передаваемой информации по длине и символам. Получается, что AJAX используют при небольших передачах данных на сервер? А сплошной текст из разных букв и символов можно передать? И разумно ли?

Спасибо за ответы.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2007-06-15 10:32:14 ЛС | профиль | цитата
Yuriy писал(а):
Возможности те же самые, что и с GET, получается?

почему?

Yuriy писал(а):
Опять вижу ограничение в передаваемой информации по длине и символам.

откуда это следует?

Yuriy писал(а):
А сплошной текст из разных букв и символов можно передать?

да можно. Для этого используется компонент Escape
карма: 27
0
Ответов: 574
Рейтинг: 1
#15: 2007-06-15 14:14:30 ЛС | профиль | цитата
Dilma писал(а):
да можно. Для этого используется компонент Escape


Во! Уже ближе! Спасибо. Получается, отсылать данные НУЖНО только с кодировкой UTF8? Это для русских букв и спецсимволов. А если я ввожу русский текст, то он выведется в div закодированный! Как его раскодировать? PHP функция utf8_decode() мне не помогла! Почему?
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)