¿Por qué Javascript trata las URL relativas de forma diferente que el HTML estándar? Piense en la siguiente URL (o simplemente navegue hasta ella): http://en.wikipedia.org/wiki/Rome. Abra una consola de Firebug (u otra consola de Javascript) e introduzca el siguiente:URL relativas en solicitudes AJAX
var x = new XMLHttpRequest();
x.open("GET", "foo", true);
x.send("bar");
En mi sistema la solicitud se envía a "http://en.wikipedia.org/wiki/foo". La "Roma" en la URL simplemente se ignora. La misma solicitud con una barra inclinada en la URL ("http://en.wikipedia.org/wiki/Rome/") agrega el "foo" a la URL completa.
Esto parece dificultar la codificación de las URL correctas en Javascript. ¿Hay alguna biblioteca de Javascript que ayude a solucionar este problema?
(pedí una similar question antes, pero más jQuery específica, donde esto también ocurre. Espero tener una mejor respuesta a esta cuestión independiente de algo más de la biblioteca.)
@Zardoz Se puede publicar el enlace a esa otra pregunta similar? –
Por supuesto ... También edité el texto con un enlace a esa pregunta: http://stackoverflow.com/questions/4754559/relative-url-does-not-get-resolved-correctly-by-jquery – Zardoz
@Zardoz Los enlaces funcionan de la misma manera. Si la URL de la página es hxxp: //en.wikipedia.org/wiki/Rome y en la página está este ancla: '', luego al hacer clic en el enlace se abrirá esta URL: hxxp: // en.wikipedia.org/wiki/foo –