2011-03-29 49 views
0

我想知道是否有任何方法來檢查該調用是否爲跨域調用。也許像一個標誌,它測試它是否跨域,然後我可以使用另一種方法。jQuery檢查是否跨域調用

例如:

$.ajax({ 
    type: "POST", 
    url: "cross-domaincallURL", 
    success: function(response, status, xhr){ 
    if OPTIONS then cross-domain 
    if not then not cross-domain 
    } 
}); 

回答

0

我想最簡單的方法是將「跨domaincallURL」比較了window.location的域部分。

你可以將該邏輯封裝到一個單獨的函數中,或者如何將它添加到ajax對象(但這是另一層)。

編輯:

您可以通過window.location.hostname https://developer.mozilla.org/en/DOM/window.location

獲得當前所在位置的域的一部分,我認爲你可以得到AJAX在beforeSend(jqXHR, settings)事件請求URL。當它通過設置。

+0

這很難實現我的想法。我不確定它是否會起作用。 – 2011-03-29 11:23:39

+0

嗨@Alec Smart,我添加了一些細節。 – 2011-03-29 11:39:49