繁体   English   中英

为什么来自w3schools的这个JQuery.get示例对我不起作用?

[英]Why does this JQuery.get example from w3schools not work for me?

对于其他人来说,这显然是显而易见的,但对于我的生活,我无法弄明白。

我从http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_get复制了HTML

我稍微更改了一行,以便.get url指向完整的w3schools.com网址(这在他们的示例页面上工作得很好)。 这是代码:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $.get("http://www.w3schools.com/jquery/demo_test.asp",function(data,status){
      alert("Data: " + data + "\nStatus: " + status);
    });
  });
});
</script>
</head>
<body>

<button>Send an HTTP GET request to a page and get the result back</button>

</body>
</html>

在w3schools网站上,这段代码对我来说很合适,但是当我将它粘贴到家用电脑上名为“hi.html”的新文件中并在Chrome和Firefox中打开时,它就失败了。

我正在直接复制和粘贴这个HTML,为什么会失败?

由于同源策略( https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy ),您的Web浏览器会阻止执行Ajax请求。 基本上,当您在localhost:80上运行脚本时,您只能对localhost:80上的页面发出Ajax请求。 W3Schools是一个不同的东道主。

出于安全原因,存在同源策略。 例如,假设您已登录Facebook。 如果不存在同源策略,程序员可以创建一个恶意网站,为Facebook.com发出Ajax请求,并返回您的登录cookie。 然后,它可以将您的登录cookie发送给恶意程序员。 然后,恶意程序员可以使用您的登录cookie并在Facebook上冒充您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM