1

我正在尝试使用简单的 $.get 请求从服务器获取数据。

$('#api')[0].contentWindow.$.get(
    '/get_url'
    function(data) { 
    },
    'json'
);

$('#api') 在这里是一个 iframe,加载我网站的子域。我已将父页面和 iframe 的 document.domain 设置为相同的值,以便能够进行跨子域请求。

这在 Chrome 上没有问题,但是在 Firefox 上,回调永远不会被触发,我在 Firebug 控制台上看不到任何错误消息。请求返回 200 OK 代码。

响应头包含 Content-Type: application/json 。我还在上面的代码中强制预期的内容类型为 json。我已经使用 jsonlint 检查了返回的 json,它验证了 json。

我已经看到人们面临类似问题的几个问题,但在他们的情况下,通过设置内容类型响应标头或在获取请求中添加“json”来解决问题。但是,这并没有改变我的情况。

我使用的是 jquery 版本 1.7.1,而在后端我使用的是 django 1.3.1。

这是从服务器返回的示例 json 响应

{
    "parameter": "value",
    "parameter": integerValue,
    "list": [
        {
            "name": "value"
        },
        {
            "name": "value"
        },
        {
            "name": "value"
        }
    ],
    "parameter": "value"
}

有任何想法吗?

4

1 回答 1

0

尝试contentDocument而不是contentWindow可能对你有用

于 2013-05-06T11:47:03.290 回答