为什么我在使用 jquery 加载 google 时收到 HTTP Status 301?

发布于 2024-09-29 21:42:53 字数 399 浏览 5 评论 0原文

我正在尝试在 div 中加载 google.com 的内容。我正在使用

$('#loadGoogleBtn').click(
    function(){   alert ( 'loading' );  
    $('.container').load('http://google.com');
        alert ( 'done' ); 
});

http://jsbin.com/uwopu4

但它不起作用,而是给了我 301 HTTP地位。 [感谢萤火虫:)]。为什么会发生这种情况。

注意我能够访问 google.com

I am trying to load the content of google.com in a div. I am using

$('#loadGoogleBtn').click(
    function(){   alert ( 'loading' );  
    $('.container').load('http://google.com');
        alert ( 'done' ); 
});

http://jsbin.com/uwopu4

But it is not working, instead it is giving me 301 HTTP status. [ Thanks to firebug :) ]. Why it is happening.

Note i am able to access google.com

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陈年往事 2024-10-06 21:42:53

您无法向这样的远程域发出 XmlHttpRequest,它被同源策略。 Firefox 选择将其呈现为 301,浏览器如何阻止它(即:选择执行该策略)各不相同,但您始终会得到空响应。

这可以防止您执行以下操作:

$('.container').load('http://myBank.com');

并使用我存储的 cookie 等进行登录(也受到相同的跨域策略规则的保护)。

You can't make an XmlHttpRequest to a remote domain like this, it's blocked by the same-origin policy. Firefox chooses to present this as a 301, how the browser blocks it (read: chooses to enforce the policy) varies, but you'll always get an empty response.

This prevents you from doing something like:

$('.container').load('http://myBank.com');

and using my stored cookies, etc to login (also protected by the same cross-domain policy rules).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文