Как я передаю, большая строка, содержащая символы как '%' и '&' к моему php, пролистывает сообщение ajax?
Другими словами, как к JavaScript - кодируют их и php-декодируют их?
функция encodeURIComponent()
JavaScript может быть использована для выхода из любого из этих символов как в ключах, так и в значениях.
PHP получит и декодирует ее автоматически в массив $_POST
.
Формат данных должен быть в формате строки запроса, а именно:
Content-Type: application/x-www-form-urlencoded
Например:
Name=Joe&Age=23&City=Altoona
Если вы используете encodeURIComponent()
для каждого ключа и каждого значения, то соедините их с =
, и сгруппируйте их по &
, больше у вас не будет никаких проблем.
Для их кодирования на javascript используйте функции encodeUri и encodeUriComponent
http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
PHP Decode:
На самом деле вам не нужно ничего кодировать или декодировать, если вы используете POST-параметр в методе отправки XMLHttpRequest. Только GET нуждается в таком и кодировании, так как использует поле URI. Следует быть внимательным при использовании этих данных в SQL-запросах. Остерегайтесь инъекций.
.