为AJAX调用构建环回URL的最佳方法是什么?说我有一个页面
http://www.mydomain.com/some/subdir/file.php
我想用AJAX调用加载。在Firefox中,使用jQuery可以正常工作:
$.post('/some/subdir/file.php', ...);
Safari / WebKit尝试将其解释为本地文件系统上的一个位置(因此它最终会转换为'file://some/subdir/file.php')。这不仅指向任何有用的东西,而且还会导致安全性错误。
有没有办法在不将域硬编码到URL的情况下实现此目的?我想尽可能使其与域无关。
更新
我最终解析了来自location.href的基本网址并将其抛入一个可访问的jQuery函数,如下所示:
/**
* Retrieves the current root URL.
*
* @return string the root URL
*/
$.fn.rootUrl = function() {
var url = location.href;
return url.substring(0, url.indexOf('/', 7));
};
答案 0 :(得分:1)
您可以观察document.href,计算斜杠,并在网址的开头添加许多“../”。
答案 1 :(得分:1)
您可以让服务器在提供页面时将其自己的URL作为javascript变量插入,然后将该变量用作Ajax调用的一部分。然后它既安全又自动。
答案 2 :(得分:1)
或者,您可以按如下方式汇编URL:
的“http://'+document.domain