Передача POST переменных на AJAX.

интернет Компьютеры программирование php AJAX

Здравствуйте. Такой вопрос.

Делаю обычный POST запрос к php скрипту посредством AJAX.
Ошибка такова, что отправляемые переменные в запросе приходят видимо в искаженном виде.
Проверял и выводил эти переменные - php скрипт выдает такое же значение, что и отправляется. Но требуемые операции php скриптом не выполняются т.к. пишут несоответствие данных переменных.
Пробовал кодировать данные перед отправкой в base64, а потом их декодировать php скриптом - требуемого результата не дало. (Отображает те же самые данные (соответствующие отправленным), но php скрипт опять говорит на их несоответствие.)
Пробовал сделать экранирование спец. символов в php скрипте, чтобы просмотреть, возможно передаются какие-то дополнительный символы - результата не дало, выводит нужные данные без слешей.
Ответы:
php скрипт всегда так глючит. Попрообуй через Java skript
http://allcomputers.16mb.com/article/articl7.php
Или можно попробывать менять кодировки в заголовках
header("Content-type: text/html; charset=UTF-8");
или так
$rectext = iconv('UTF-8', 'windows-1251', $rectext);
Без имени
сам то понял что ляпнул?
Делай отладку. Выводи что на входе скрипта. Выводи что в момент сравнения. Скорее всего скрипт меняет переменные в теле скрипта или неправильно реализует сравнение.
print_r($_POST); //И выложи что там у тебя получиться
Скорее всего используются разные кодировки. Т. е. данные, отправляемые скриптом, записаны не в той кодировке, в которой пытается с ними работать скрипт.
Чтобы конвертировать данные в нужную кодировку используйте в php функцию iconv('исходная_кодировка', 'в_какую_надо_перевести', 'строка')
Обычно данные через AJAX передаются в кодировке UTF-8. Если ваш скрипт (и все данные в нем) работают с windows-1251 (она же cp1251), то естественно вы получите кракозябры вместо читаемого текста. Переводите полученные данные в windows-1251 или ту кодировку, в которой далее идет обработка.
можно посмотреть код или хотя бы описать подробно как проверяется соответствие переменных?


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.