0

我有一个 html 页面,其中包含以下 html 内容

<div id="divBody">
    <input type="text" id="txtUrl" value="http://www.google.com" />
    <br />
    <input type="button" id="btnShowPopup" value="Show Popup" onclick="Javascript:ShowPopup();" />
</div>
<div id="divPopup">
</div>

我确实有一个功能 ShowPopup 如下:

function ShowPopup() {
    var page = "http://www.google.com";
    $('#divPopup').dialog({
        modal: true,
        open: function() {
            $(this).load(page);
        },
        close: function(e) {
            $(this).empty();
            $(this).dialog('destroy');
        },
        height: 625,
        width: 500,
        title: "Test Page"
    });
}

我包括了所有的 jquery 脚本如下:

<script src="Scripts/JQuery.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.core.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.widget.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.mouse.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.draggable.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.position.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.resizable.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.button.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.dialog.js" type="text/javascript"></script>

出现标题“测试页”和关闭按钮。为什么它不加载谷歌页面,有什么想法吗?

4

1 回答 1

1

这是因为它是一个跨域请求。不知道为什么你试图将谷歌的页面加载到对话框中。可以使用 iFrame 加载这样的页面(是的,我知道它们被认为是不好的)。尝试加载您服务器上的页面。

这可能有助于跨域 ajax-querying-with-jquery

查看 IE 的开发人员工具 (F12) 我发现这是因为跨域请求。

SEC7118:http ://www.google.com/index.html 的 XMLHttpRequest需要跨源资源共享 (CORS)。

SEC7127: CORS 请求的重定向被阻止。

SCRIPT7002:XMLHttpRequest:网络错误 0x2ef1,由于错误 00002ef1,无法完成操作。

于 2013-05-16T19:10:24.827 回答