jQuery加载不起作用

时间:2011-11-02 17:58:59

标签: jquery ajax load get

我最近才开始使用jQuery,而且大多数都没有问题。我刚刚开始研究使用Ajax调用并立即遇到绊脚石。为了说明我的问题,我写了一小段演示代码......

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function() {
                $.get("http://www.google.co.uk", function(data) {
                    alert(data);
                }, "html");
            });
        </script>
        <style>
            #page
            {
                border:1px solid black;
                width:640px;
                height:480px;
            }
        </style>
    </head>
    <body>
        <div id="page"></div>
    </body>
</html>

正如您所看到的,页面加载然后它应该将URL的内容(在本例中为google)加载到页面上唯一的div中,但它不起作用。

使用Chrome中的开发者工具我可以看到正在发送的请求,但它被标记为“已取消”(是的,1升!)

我真的很感谢有人帮我解决一个非常简单的问题。正如我所说,这实际上是我第一次尝试这样做。卡住我通常需要更长的时间!

提前感谢任何建议:)

3 个答案:

答案 0 :(得分:3)

我猜这是一个安全问题。您无法将其他服务器中的页面加载到文档中。有关详细信息,请参阅http://api.jquery.com/load/

答案 1 :(得分:2)

因为SAME ORIGIN POLICY

替代方法

制作服务器端代理,让它请求页面并通过json或您首选的格式将响应发送到您的客户端

OR

Using YQL as a proxy for cross-domain Ajax

答案 2 :(得分:1)

在“.load()”

中加载外部链接

创建页面说external.php

在external.php中输入以下代码:

<?php $url = 'http://ur/url/here'; echo $var = get_file_contents($url);?>

现在在jquery中加载此页面,它将加载外部链接

$( 'DIV')负载( 'external.php');