2012-03-14 60 views
0

它是否有可能只用JavaScript來擊中指定的URL並獲得是否有可能擊中URL的回覆。我不需要URL內容和頁面的任何信息,我需要的是確保URL已到達,並且它滲透到所有定製防火牆,這些防火牆將以其方式駐留。穩定的URL來確認連接JavaScript

+0

什麼,像網絡ping命令? – j08691 2012-03-14 17:16:45

+0

由於相同的源安全策略,JS無法通過AJAX調用命中任意URL,但是您可以做一些像JSONP調用一樣的事件來檢查URL是否可訪問。您最好動態創建一個''標籤並查看該請求的狀態。 – 2012-03-14 17:18:03

回答

2

不可以。您會碰到Same Origin Policy牆。

你真的需要在服務器端做到這一點。在JS方面,你可以通過一個簡單的ajax測試它到服務器端返回一些布爾值。請注意,這隻會測試服務器和所需URL之間的連接,而不是客戶端和所需URL之間的連接。不確定這是否會爲您的功能需求形成潛在問題。

+0

(可選)調用任何可靠的JSON-P API。如果您獲得結果,則已達到網址。放棄結果。如果你沒有得到結果,防火牆阻止了你,或者你調用的API被關閉了(如果你選擇一個可靠的API,機會很小) – xbonez 2012-03-14 17:17:36

+0

@xbonez:我不認爲「指定的URL」是一個公共的JSONP API或具有'Access-Control-Allow-Origin:*',否則OP可能不會問這個問題。 – BalusC 2012-03-14 17:20:32

+0

哦,沒錯。重新閱讀這個問題。我的第一個解釋是OP只是想測試客戶端是否可以訪問互聯網。在這種情況下,任何API都足夠了。 – xbonez 2012-03-14 17:22:21

0

您可以對URL進行HEAD請求。這隻會返回HTTP頭,但不會返回內容。

如果這是在瀏覽器中的Javascript,使用XMLHTTPRequest對象應該很容易,當然提供它在同一個域中,以便您有權訪問請求URL。

0

僅當請求的頁面具有Access-Control-Allow-Origin標頭時。

此功能將crossdomain起源添加到您的文檔。

順便說一句,你只能使用現代瀏覽器檢索它,並需要訪問請求的頁面(設置此標題)。

看:

http://www.w3.org/TR/cors/