Почему Javascript обрабатывает относительные URL-адреса по-другому, чем стандартный HTML? Подумайте о следующем URL-адресе (или просто просмотрите его): http://en.wikipedia.org/wiki/Rome. Откройте консоль Firebug (или другую консоль Javascript) и введите следующее:
var x = new XMLHttpRequest();
x.open("GET", "foo", true);
x.send("bar");
В моей системе запрос отправляется на " http://en.wikipedia.org/wiki/foo". "Рим" в URL-адресе просто игнорируется. Тот же запрос с завершающим косой чертой в URL-адресе ( " http://en.wikipedia.org/wiki/Rome/" ) добавляет "foo" к полному URL-адресу.
Кажется, что очень сложно кодировать правильные URL-адреса в Javascript. Существуют ли библиотеки Javascript, которые помогают преодолеть эту проблему?
(ранее я задавал аналогичный question, но больше специфичен jQuery, где это также происходит. Надеюсь, что я получу лучший ответ с этим несколько более независимым от библиотеки вопрос.)