Dilma, я очень наслышан о данной технологии и хотел бы научиться её пользоваться с помощью HiAsm. Можно пример с примерением AJAX? Компонент есть - подсказок в нём нет. Если можно - с небольшими пояснениями пример.
Спасибо!
Этот топик читают: Гость
Ответов: 574
Рейтинг: 1
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Во-первых, которко о технологии: под AJAX понимают создание клиентских приложений, отображающих и получающих контент документа динамически без перезагрузки страницы. По большому счету AJAX это некоторая идеология нежели технология. Самым интересным(и наверно ключевым) в AJAX является объект XMLHttpRequest, позволяющий динамически запрашивать информацию с сервера средствами JavaScript.
Вот пример совсем простого AJAX приложения с использованием соответствующего компонента: http://dev.hiasm.com/src/Project2.html code_1535.txt Пример позволяет вставить внутрь HTML документа информацию, взятую с сайта, указанного в поле ввода. Внимание : пример не работает в опере. В IE при повышенных настройках безопастности он тоже работать не будет. Связано это с тем, что браузеры не дают загружать данные с любого другого сайта кроме того, с которого была загружена сама страница. На данный момент компонент XMLHttpRequest выполнен практически без дополнительных наворотов и поэтому, как видно из примера, необходимо всякий раз проверять код статуса выполнения запроса, а так же коды ответа сервера в процессе запроса. Полагаю со временем эта стандартная обвязка будет реализована в одной точке с выдачей в поток приятых данных - благо новая технология позволяет сделать это без какого либо ухудшения качества. Так же еще один важный момент: при разработки AJAX приложений у всех элементов, к которым предпологается динамиской обращение из JavaScript, должны быть обязательно указаны в свойствах поля Id. Иначе работать ничего не будет. Впрочем отловить такую ошибку достаточно просто: браузеры обычно выводят в логи информацию о том, что не был найден какой-то объект - первый признык того, что Id либбо не указан, либо указан, но не верно. |
|||
карма: 27 |
| ||
файлы: 1 | code_1535.txt [1.5KB] [734] |
Ответов: 574
Рейтинг: 1
|
|||
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 |
|
Ответов: 574
Рейтинг: 1
|
|||
Всё, Дима, разобрался! Всё что выше я написал - я делал правильно и правильно понял. У меня же ДЕНВЕР стоит, а я не правильно путь свой страницы указывал, вот и получал ошибочный запрос!
СПАСИБО ТЕБЕ! |
|||
карма: 0 |
|
Ответов: 574
Рейтинг: 1
|
|||
Дубль 2.
С GET разобрался, а с POST не пойму как действовать... Нашёл тут статью хорошую с подробным описание AJAX, но через GET. Ссылка: http://www.realcoding.net/article/view/4376. Теперь я понял, что это за цифры "4" и "200" ты использовал в схеме. Например. Имеем форму. В ней текстовое поле. Как передать в качестве параметра через POST значение этого текстового поля php-скрипту? Форма:
Вот. Как бы мне передать текст, чтобы получить его в php через массив $_POST['text']? |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Yuriy, еще раз замечу:
Dilma писал(а): под AJAX понимают создание клиентских приложений, отображающих и получающих контент документа динамически без перезагрузки страницыXMLHttpRequest - это всего лишь инструмент передачи данных от сервера к клиенту. Yuriy писал(а): а с POST не пойму как действоватьпримеров с POST найти сложно потому, что отправлять запросы таким образом нужно только в самых крайних случаях. Однако при большой необходимости делается это через ручное формирование тела запроса(точка Content в компоненте). Думаю позже будет специальной компонент для формирования POST запроса, поскольку данная необходимость возникает достаточно часто |
|||
карма: 27 |
|
Ответов: 574
Рейтинг: 1
|
|||
Гм.. Для меня это странно вот почему. Берём страницу форума. Юзер написал сообщение длинной в 1000 символов. А как я его в базу с помощью AJAX кину? Ведь GET способен передавать 250 символов, вроде. Или 250 символов - ограничение при работе с браузером? А при работе с AJAX какие ограничители? Или можно свободно работать с GET?
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Вообще то интересно, но понять сложновато:
Dilma писал(а): примеров с POST найти сложно потому, что отправлять запросы таким образом нужно только в самых крайних случаях. Однако при большой необходимости делается это через ручное формирование тела запроса(точка Content в компоненте). Думаю позже будет специальной компонент для формирования POST запроса, поскольку данная необходимость возникает достаточно часто |
|||
карма: 25 |
|
Ответов: 574
Рейтинг: 1
|
|||
Tad, вот-вот. Я тоже не пойму.
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Yuriy писал(а): Юзер написал сообщение длинной в 1000 символовУстанавливается эксперементальным путем, Tad писал(а): Вообще то интересно, но понять сложновато:Отправка запросов POST через XMLHttpRequest выполняется реже чем через GET. Однако необходимость в компоненте для формирования POST запроса возникает достаточно часто, потому что применяется не только в XMLHttpRequest. Стоило выделить красным только последнее предложение - вопрос сразу бы снялся... |
|||
карма: 27 |
|
Ответов: 574
Рейтинг: 1
|
|||
Dilma, хорошо. Научи, пожалуйста, передавать данные через POST! Я не прошу схему, с удовольствие приму и в виде HTML+AJAX!
А то в интернете не могу найти подходящий пример. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
С последними правками на SVN передача параметров на сервер через POST запрос выглядит как посылка контента ввиде:
<param name 1>=<param value>[&<param name 2>=<param value]... Например: code_1553.txt [size=-2]------ Добавлено в 17:01 На сервере стоит такой обработчик:
|
|||
карма: 27 |
| ||
файлы: 1 | code_1553.txt [1.6KB] [673] |
Ответов: 574
Рейтинг: 1
|
|||
Dilma, посмотрел. Возможности те же самые, что и с GET, получается? Опять вижу ограничение в передаваемой информации по длине и символам. Получается, что AJAX используют при небольших передачах данных на сервер? А сплошной текст из разных букв и символов можно передать? И разумно ли?
Спасибо за ответы. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Yuriy писал(а): Возможности те же самые, что и с GET, получается?почему? Yuriy писал(а): Опять вижу ограничение в передаваемой информации по длине и символам.откуда это следует? Yuriy писал(а): А сплошной текст из разных букв и символов можно передать?да можно. Для этого используется компонент Escape |
|||
карма: 27 |
|
Ответов: 574
Рейтинг: 1
|
|||
Dilma писал(а): да можно. Для этого используется компонент EscapeВо! Уже ближе! Спасибо. Получается, отсылать данные НУЖНО только с кодировкой UTF8? Это для русских букв и спецсимволов. А если я ввожу русский текст, то он выведется в div закодированный! Как его раскодировать? PHP функция utf8_decode() мне не помогла! Почему? |
|||
карма: 0 |
|