jQuery.get Chrome和Firefox之间的区别

时间:2013-05-06 11:41:38

标签: jquery ajax django cross-domain

我正在尝试使用简单的$ .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”添加到get请求来解决的。但是,这并不会改变我的情况。

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用contentDocument代替contentWindow可能适合您