Я отправляю какое-то сообщение через Ajax, используя encodeURIComponent, но на стороне сервера, например, вместо сообщения
не могу
Я получаю
can \ 't
Каково решение этой проблемы
Кавычки не экранируются encodeURIComponent.namuol верен, ваш фреймворк пытается быть очень умным для вас и применяет свое экранирование ко всему, что проходит через POST и GETЕсли вы используете PHP, убедитесь, что Магические кавычки отключены, теперь они устарели.
Попробуйте этот ответ:
<?php // first use encodeURIComponent on javascript to encode the string // receive json string and prepare it to json_decode $jsonStr = stripslashes ($_POST['action']); // decode to php object $json = json_decode ($jsonStr); // $json is now a php object ?>
Получено от:
http://php.net/manual/en/function.urldecode.php
Существует вероятность того, что используемая вами среда активно пытается предотвратить атаки SQL-инъекций, по умолчанию экранируя символ одинарных кавычек.Изучите документацию для вашей платформы, чтобы узнать, как получить дословный текст из данных POST.