Loopback jQuery AJAX请求

时间:2008-12-01 21:24:47

标签: javascript jquery ajax

为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));
};

3 个答案:

答案 0 :(得分:1)

哇,这是非常差的Safari / WebKit,IMO。

您可以观察document.href,计算斜杠,并在网址的开头添加许多“../”。

答案 1 :(得分:1)

您可以让服务器在提供页面时将其自己的URL作为javascript变量插入,然后将该变量用作Ajax调用的一部分。然后它既安全又自动。

答案 2 :(得分:1)

或者,您可以按如下方式汇编URL:

的“http://'+document.domain