使用ajax的Google Spreadsheet IE错误

时间:2013-04-03 15:53:32

标签: jquery google-sheets

我正在尝试使用jquery / ajax将特定单元格中的数据导入到我的网页中。

代码:

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

这在Firefox,Chrome和Safari中运行良好,但在IE9及以下版本中没有任何发生,我不知道为什么。控制台也没有抛出任何错误。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分: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 for IE。

好的一面XHR在IE 10中得到支持:)不能等待那个标准和IE9淡出。