ajax отправляют специальные символы

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

Другими словами, как к JavaScript - кодируют их и php-декодируют их?

7
задан Glenn 9 September 2013 в 18:02
поделиться

3 ответа

функция encodeURIComponent() JavaScript может быть использована для выхода из любого из этих символов как в ключах, так и в значениях.

PHP получит и декодирует ее автоматически в массив $_POST.

Формат данных должен быть в формате строки запроса, а именно:

Content-Type: application/x-www-form-urlencoded

Например:

Name=Joe&Age=23&City=Altoona

Если вы используете encodeURIComponent() для каждого ключа и каждого значения, то соедините их с =, и сгруппируйте их по &, больше у вас не будет никаких проблем.

.
19
ответ дан 6 December 2019 в 08:14
поделиться

Для их кодирования на javascript используйте функции encodeUri и encodeUriComponent

http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp


PHP Decode:

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

2
ответ дан 6 December 2019 в 08:14
поделиться

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

.
1
ответ дан 6 December 2019 в 08:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: