0

我正在尝试使用 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 及更低版本中没有发生任何事情,我不知道为什么。控制台也没有抛出任何错误。任何帮助表示赞赏。

4

1 回答 1

0

我很确定你不能对你正在使用的 URL 使用标准的 AJAX 请求。该 URL 将重定向您几次,直到您获得一个可下载的文件,而不是您可以从中检索数据的文件。

我建议您查看“从电子表格数据 API 检索 JSON 提要的简单示例”文档,因为这确实使您能够从 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 并且不必为 IE 转换为 XDR。

从好的方面来说,IE 10 支持 XHR :) 等不及要成为常态,IE9 会逐渐淡出。

于 2013-04-13T01:36:37.820 回答