2014-10-05 124 views
0

向服務器發送GET請求時,爲什麼www.codecademy.com作爲url而不是其他url,例如www.google.com?爲什麼我無法向Google.com發送GET請求?

我在頁面上有一個按鈕,當我按下時發送獲取請求。下面的代碼可以工作,但爲什麼我不能用它替換任何其他url並獲取一些數據?只是想發送GET請求和解析數據。

$(document).ready(function(){ 
    $("button").click(function(){ 
    $.get("http://www.codecademy.com/",function(data,status){ 
     alert("Data: " + data + "\nStatus: " + status); 
    }); 
    }); 
}); 
+0

簡短的回答之前,我去睡覺:跨域請求是被禁止的,但Codecademy可能會允許它使用適當的CORS標頭。 – Boldewyn 2014-10-05 20:12:06

+0

好的,我可以在哪裏練習向服務器發送請求並解析數據? – 2014-10-05 20:12:52

回答

4

檢查錯誤返回:

的XMLHttpRequest無法加載http://www.google.com/。請求的資源上沒有「Access-Control-Allow-Origin」標題。原產地',因此是不允許訪問

簡單地說,這是CORS

要做到這一點SO後可以幫助
Origin is not allowed by Access-Control-Allow-Origin

...通過「幫助」 - 我的意思是幫助理解,無助於從客戶端Javascript請求谷歌。

你當然可以魅力「Security Princess」谷歌進入土地開闢了你,但我很懷疑這是一個選項;-)

+0

Gotcha。亞歷克斯,我可以在哪裏練習向服務器發送請求並通過數據解析? – 2014-10-05 20:15:23

+0

如果只是爲了練習,請嘗試requestbin - http://requestb.in – Alex 2014-10-05 20:16:44

+0

@ StackOverflow421,嘗試[plunkr](http://plnkr.co)。 – jacob 2014-10-05 20:16:55

相關問題