2013-05-06 95 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