Проблеми с AJAX и кодиране

Начало "Блог" Проблеми с AJAX и кодиране.

Много често разработчиците в определени ситуации се сблъскват с проблеми, свързани с кодирането. Особено тези, които работят в Windows-1251 кодиране. Днес исках да разгледам този проблем, да видя различни примери и възможни решения.

AJAX (асинхронен Javascript и XML, асинхронен Javascript и XML) се превърна в много разпространена употреба и е трудно да си представим модерен уебсайт, без да използваме тази технология. Всъщност ajax е фонов обмен на данни, който ви позволява да получавате данни, без да презареждате страницата. Различни „търсения на живо“, регистрации, форми за обратна връзка и т.н.

Чрез AJAX можем да прехвърляме данни, използвайки методите POST и GET. Нека да видим какви проблеми може да има при прехвърлянето на тези данни.

Нека започнем с GET.

Когато прехвърляме данни чрез GET, това означава, че изпращаме на скрипта URL, в който руският текст трябва да бъде кодиран, в определена последователност. Нарича се евакуационна последователност.

В тази GET заявка заявката предава фразата „руски текст“. Но изходните последователности се различават помежду си в зависимост от използваното кодиране. За да се преведе руски текст в последователност, W3C препоръчва използването на функцията "encodeURIComponent ()", която автоматично преобразува текста в utf-8 и създава екранираща последователност. Следователно, когато прехвърляме текст чрез Jquery, Prototype и други рамки, получаваме текста в UTF-8 кодиране на изхода. Ако работите в кодиране на Windows-1251, първо ще трябва да преведете текста от utf-8 в Windows-1251 (това може да стане чрез iconv, например: $ _GET ['query'] = iconv ('utf-8 ',' Windows- 1251 ', $ _GET [' заявка '])).