jQuery.了解Chrome和Firefox的区别



我试图使用一个简单的$。从服务器获取数据的请求。

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

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

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

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

我见过几个面临类似问题的人的问题,但在他们的情况下,问题是通过设置内容类型响应头或在get请求中添加'json'来解决的。然而,这并没有改变我的情况。

我使用的是jquery 1.7.1,后端使用的是django 1.3.1。

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

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

任何想法?

尝试contentDocument而不是contentWindow可能更适合您

最新更新