Вопрос

Как мне передать большую строку, содержащую символы типа '%' и '&' , на мою php-страницу через ajax post?

Другими словами, как их кодировать на 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-Декодирование:

http://php.net/manual/en/function.urldecode.php

На самом деле вам не нужно что-то кодировать или декодировать, если вы используете параметр POST в методе отправки XMLHttpRequest.Только GET нуждается в такой кодировке, поскольку он использует поле URI.Вам следует быть осторожным при использовании этих данных в SQL-запросах.Остерегайтесь инъекций.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top