2013-04-03 45 views
0

我想從特定的單元格拉到我的網頁使用jQuery/AJAX的數據。谷歌電子表格IE瀏覽器錯誤使用AJAX

代碼:

$.ajax({ 
url: "https://docs.google.com/spreadsheet/pub?key=0AsVuHqMG8OuHdDEtdWxUMUxjTUR4R3BPNFk0S25TcFE&range=d4&output=csv", 
success:function(result) { 
alert(result); 
} 
}); 

這在火狐,Chrome和Safari工作正常,但沒有什麼是IE9 happending及以下,我不知道爲什麼。控制檯也不會拋出任何錯誤。任何幫助表示讚賞。

+0

將網址粘貼到IE10中,作爲CSV文件下載就好了。 – eddyparkinson

回答

0

我很確定你不能對你使用的URL使用標準的AJAX請求。該URL會重定向您幾次,直到您獲得可下載的文件,而不是您可以從中檢索數據的文件。

我會建議看看"Simple example of retrieving JSON feeds from Spreadsheets Data API"文檔,因爲這樣做可以讓您能夠從GSS以JSON方式檢索數據。

基本上...

第一次添加JavaScript文件你的網站如下...

<script src="http://spreadsheets.google.com/feeds/list/*ID*/*WS*/public/values?alt=json-in-script&amp;callback=*FN*"></script> 

•凡* ID *是電子表格的長ID。

•其中* WS *是工作表編號例如, 1,2,3等。

•其中* FN *是您想要調用的功能。

然後使用回調函數,您可以做任何你想要的東西,例如。

function callBackFunc(json){ 

    // Loop through all returned data 
    for(i = 0; i < json.feed.entry.length; i++;){ 

     // Each row of data 
     entry = json.feed.entry[i]; 

     // Each cell is called gsx$ CELL HEADING .$t; 
     cell1 = entry.gsx$firstCellHeading.$t; 
     cell2 = entry.gsx$blahblahblah.$t; 

    } 
} 

我用這個方法來大量的信息填充到我們公司的網站,因爲我們沒有一個CMS,它允許任何工作人員去更新使用GSS網站上的信息,他們已獲得權限編輯。

編輯

我還忘了提及的是,上述方法也得到周圍,IE瀏覽器9和表有問題與任何跨域的問題,所以沒有必要擔心CORS且轉換爲XDR爲IE。

在IE 10中支持XHR的優勢在於,它不能等待它成爲標準,IE9才能淡出。