developer.co.ua

Holy Copypasters

Комментарии к статье «AJAX с использованием Prototype»

не работает makushatnik
ни в одной вариации checkZip.php не работает. Пишет Error. Хотя вообще вроде prototype-ajax у меня работает. Проверял другим способом

кодировки, кодировки.. Stalker
Переходите полностью на utf-8 и будет вам счастье.
а если не знаете как переконвертировать строку или указать кодировку – учите матчасть.

2 aka_Kail: твоя ссылка на JsHttpRequest немножко не в тему. при всем уважении к этой библиотеке и к работам Котерова вообще, эта статья именно о использовании AJAX через Prototype, а о других js-фреймворках можно много-чего написать :)

глянь тут aka_Kail
Полностью совместима с prototype библиотека от разработчиков Денвера.
вот что они пишут.
Совместимость с библиотекой prototype. Prototype — это популярное средство для упрощения работы JavaScript-программиста, включающее поддержку AJAX и другие возможности. Библиотека JsHttpRequest может быть использована в качестве ее серверной PHP-части (после подключение небольшого модуля совместимости JsHttpRequest-prototype.js). При этом все дополнительные возможности, присущие JsHttpRequest (кроссбраузерность, закачка файлов, работа с русскими кодировками и т. д.), остаются в силе.

никаких заморочек с кодировкой.
ссылка на статью –
http://dklab.ru/lib/JsHttpRequest/manual.html
сама библиотека-
http://dklab.ru/lib/JsHttpRequest/demo.zip

Выпадающий список Дмитрий Смирнов (fantaseour.livejournal.com)
Интересен еще был бы пример с выпадающим списком черезе аякс, чтобы работал в Мазилле. Как известно, там innerHtml не обойтись, нужно вставлять новый список через DOM

разобрался... немножко. fadanys
что бы можно было использовать другую кодировку, необходимо добавить заголовок с явным указанием Content-Type.

в опциях prototype установить
encoding: 'windows-1251'

при этом вводимая и передаваемая с помошью скрипта методом GET строка кодируется в utf8
(при обычном submit формы — остается в исходной кодировке)
ее можно преобразовать с помошью iconv, что не очень удобно, но как отправлять строку неперекодированной — не нашел.

отредактированный check_zip.php:
<?php 
header
('Content-Type: text/html; charset=windows-1251');

function 
strdecode($str)
{
  
$rstr = @iconv("UTF-8","windows-1251",$str);
  if (
$rstr == false) {return $str;} else {return $rstr;}
}

echo 
"<pre>";
  
$str strdecode($_GET["zip"]);
  echo(
"Вы ввели ".$str);
echo 
"</pre>";
?>

кодировки fadanys
написал свой код – глюки с кодировками...
стал тестировать этот – слова 'Вы ввели" отображаются треугольниками.вопросиками....
а русские буквы введенные в поле ввода – нормально.

Перекодировал подгружаемый файл в utf-8 – все символы стали нормальными.
Но писать сайт/отдельные подгружаемые куски кода в utf совсем не хочется...

Ваше имя *
А вы не робот?

Заголовок
Комментарий *
* — поле обязательно для заполнения
PHP/HTML код для подсветки надо заключать в %%(php/html)<? ?>.