Почему Javascript обрабатывает относительные URL-адреса по-другому, чем стандартный HTML? Подумайте о следующем URL-адресе (или просто просмотрите его): http://en.wikipedia.org/wiki/Rome. Открыть Firebug консоль (или другой консоли Javascript) и введите следующие данные:Относительные URL-адреса в запросах AJAX
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 конкретно, где это тоже бывает. Я надеюсь получить лучший ответ с этим несколькими более библиотечном самостоятельным вопросом.)
@Zardoz Вы можете разместить ссылку на что другое аналогичный вопрос? –
Конечно ... Я также отредактировал текст со ссылкой на этот вопрос: http://stackoverflow.com/questions/4754559/relative-url-does-not-get-resolved-correctly-by-jquery – Zardoz
@ Zardoz Ссылки работают одинаково. Если URL-адрес страницы hxxp: //en.wikipedia.org/wiki/Rome, а на странице - этот якорь: '', тогда щелчок по ссылке откроет этот URL-адрес: hxxp: // ru.wikipedia.org/wiki/foo –