javascript - jQuery "get"方法在本地不起作用

标签 javascript jquery html get

Possible Duplicate:
Why is cross-domain Ajax a security concern?

我在使用 jQuery 时遇到了一个大问题。我试图让 jQuery 加载从远程 Web 服务器上的 PHP 页面生成的 HTML。但每当我尝试在本地运行它时,什么也没有发生。但是,无论出于何种原因,当它在我的网络主机上时,它都会运行得很好。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=Unicode" />
        <title>Decisive Shoutbox</title>
        <style type="text/css">
        body
        {
            margin: 0;
            width: 288;
            height: 160;
            font-family: verdana;
            font-size: 20px;
        }
        #gadgetContent
        {
            height: 160;
            overflow: auto;
            vertical-align: middle;
        }
        .shout
        {
            font-size: 8px;
        }
        .date
        {
            font-size: 6px;
            font-color: #010101;
        }
        </style>
        <link href="flexcrollstyles.css" rel="stylesheet" type="text/css" />
        <script type="text/jscript" src="scripts/flexcroll.js"></script>
        <script type="text/jscript" src="scripts/jquery.js"></script>
        <script type="text/jscript" language="jscript">
            $(document).ready(function() {
                $.get("http://decisive-media.net/gameguy/gadgets/shouts.php", function(data) {
                    $('#gadgetContent').html(data);
                    //fleXenv.fleXcrollMain('gadgetContent');
                    alert("done");
                });
            });
        </script>
    </head>

    <body>
        <div id="gadgetContent">
        </div>
    </body>
</html>

最佳答案

出于安全原因,浏览器限制 ajax 调用到同一源,禁止您连接到与网页不同域的远程服务器。您可以阅读 same origin policy on MDN .

一个潜在的解决方法是 JSONP它使用 <script> 完成请求标签不受相同的原始策略的约束,但它需要服务器合作来实现 JSONP,因为它必须从 <script> 生成正确类型的响应才能工作。标签。

我已经构建了一个 Web 组件(一个 HTML5 幻灯片,通过 ajax 查询服务器以获取幻灯片列表),我在本地测试并在 Web 上运行。当它在我的测试环境(硬盘上的 HTML 文件)中进行本地测试时,我使用 JSONP 从远程服务器获取数据以绕过安全限制,但当它在真实环境中运行时,我使用常规 ajax我的应用程序会根据环境自动检测所需的内容。

关于javascript - jQuery "get"方法在本地不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9650927/

相关文章:

javascript - 调整图像组的大小以适应容器,所有图像高度相同

javascript - 在函数中传递参数

javascript - 获取关于在 contenteditable div 中拖动图像的通知

JavaScript - "yield"是 ES7 中的正确标识符名称吗

html - CSS 表单 ie7 错误,左边距和 float

html - 使 div 占用侧边栏后剩余的空间

python - 为什么我转换后的 Markdown HTML 标签以文本形式返回?

javascript - 如何获取对象的id?

javascript - 更改样式属性值

php - 如何在社交媒体中通过博客链接分享博客的标题、图片和链接中的简短内容?