2013-05-06 93 views
1

我试图使用一个简单的$ .get请求从服务器获取数据。Chrome和Firefox之间的jQuery.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。

这是从服务器

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

任何想法返回的样品JSON响应?

回答

0

尝试contentDocument代替contentWindow可以为你

+0

contentDocument工作似乎是未定义 – 2013-05-06 11:48:59