Глюк с подготовкой данных для Ajax и как с ним бороться

Недавно для сайта моей книжки понадобилась форма обратной связи на Ajax. Все работало отлично, пока в тексте сообщения не оказалось амперсанда — “&”. Почему-то метод encodeURI() не переводил его в %26, как должен. Проблема решилась так:

xmlHttp.send(
    "?something=" + 
    encodeURI(something.value).replace(/&/g, "%26"));

Помогло :)

2 комментария:

kadim комментирует...

http://xkr.us/articles/javascript/encode-compare/

Stas Davydov комментирует...

Угумс, ясненько :) Все дело, как обычно, было в моих кривых руках :))

Спасибо за ссылку!