2014-10-05 63 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

相关问题