JSON htmlentities javascript - PullRequest
       9

JSON htmlentities javascript

2 голосов
/ 17 марта 2010

Я использую XMLHttpRequest для отправки строки JSON в PHP. Объект JSON создается в JavaScript и использует JSON2.js из json.org для создания строки JSON, представляющей объект.

JSON.stringify(object);

Всякий раз, когда объект содержит строку, в которой есть специальный символ, например, é, JavaScript не выдает никакой ошибки, но PHP получает пустой массив

[]

Есть ли функция JavaScript, которая производит те же самые результаты, что и функция PHP

htmlentities()

Данные отправляются через POST, поэтому следующие функции

escape()
encodeURI()
encodeURIComponent()

немного перебор.

Спасибо!

1 Ответ

6 голосов
/ 17 марта 2010

Даже при отправке вещей через POST вам все равно нужно правильно ввести urlencode. Если символ амперсанда находится в теле JSON, это будет рассматриваться как разделитель пары параметр / значение, и ваш JSON больше не будет действительным.

escape() устарело, поэтому используйте encodeURIComponent(). Это не должно быть излишним, так как это одна из предполагаемых целей функции.

...