为什么 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 中的“Rome”被简单地忽略了。在 URL(“ http://en.wikipedia.org/wiki/Rome/ ”)中带有斜杠的相同请求将“foo”附加到完整 URL。
这似乎使得在 Javascript 中编码正确的 URL 变得非常困难。是否有任何 Javascript 库可以帮助克服这个问题?
(我之前问过一个类似的问题,但更具体的 jQuery,这也会发生。我希望我能通过这个更独立于库的问题得到更好的答案。)