После использования decodeURI пробелы заменяются на знаки плюс

17.04.2012

После использования decodeURI пробелы заменяются на знаки плюс.

При подгруздке данных на страницу использовал Ajax. На стороне сервера пропустил параметры через urlencode, а в самом скрипте страницы соответственно через decodeURI и возникла проблема:
Все знаки пробелов заменились на значки "плюс".
Я эту проблему решил заменой знаков + на пробелы на стороне клиента:

decodeURI(return_data).replace(/\+/g, " ")

У  способа есть минус, он заменяет ВСЕ + на пробелы. Т.е. если в полученном тексе должен был быть знак плюс, то он пропадет.

Позже, как будет время, допишу полное решение этой проблемы, а пока могу посоветовать экранировать +  на стороне сервера.


Категории: JavaScript
Яндекс.Метрика