[英]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.