首页 > 解决方案 > 当我尝试从谷歌电子表格获取数据时出现 404 错误

问题描述

大家好,我不知道是否有可以帮助我的人退出。

我不知道这怎么可能,几天前一切正常,现在它停止工作了。基本上,我从网站上公开的谷歌电子表格中读取网站上的 html 表中的数据,并通过链接向所有人公开。使用阿贾克斯。

到现在为止它有效,我在谷歌驱动器的工作表上看到了所有数据和声音,现在它停止显示数据并返回一个匿名错误,比如我的谷歌电子表格的链接不存在,但它就在这里!

例如在这个 googlesheet 上:https ://docs.google.com/spreadsheets/d/13KmAf2uc13fWxPvn8dtk9j9kOL3nCVqi8H-wYau6Tww/edit?usp=sharing

我有一系列数据要显示在我的 html 网站上。直到几天前它还有效,现在不行。

我使用 jquery google:src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js">

我在下面公开我的代码:

<script>
$.getJSON("https://spreadsheets.google.com/feeds/list/13KmAf2uc13fWxPvn8dtk9j9kOL3nCVqi8H-wYau6Tww/od6/public/values?alt=json", function (data) {
  var sheetData = data.feed.entry;
  var i;
  for (i = 0; i < sheetData.length; i++) {
    var nome = data.feed.entry[i]['gsx$_cn6ca']['$t'];
    var ingredienti = data.feed.entry[i]['gsx$_cokwr']['$t'];
    var prezzo = data.feed.entry[i]['gsx$_cpzh4']['$t'];
    document.getElementById('Vinorosato').innerHTML += ('<div class="Teglie menu-restaurant">'+'<span class="clearfix">'+'<a class="menu-title" style="padding-right: 50px;">'+nome+'</a>'+'<span class="menu-price">'+prezzo+'</span>'+'</span>'+'<span class="menu-subtitle" style="padding-right: 100px;">'+ingredienti+'</span>'+'</div>');
  }
});

在此处输入图像描述

标签: jqueryajaxget

解决方案


试试这个不需要 jQuery 的代码

<html><body>
<script>

function reqListener () {
  var jsonString = this.responseText.match(/(?<="table":).*(?=}\);)/g)[0];
  var json = JSON.parse(jsonString);
  var table = '<table>'
  for (var i=0;i<json.rows.length;i++){
    var nome = json.rows[i].c[0].v;
    var ingredienti = json.rows[i].c[1].v;
    var prezzo = json.rows[i].c[2].v;
    table += '<tr><td>' + nome + '</td><td>' + ingredienti + '</td><td>' + prezzo + '&nbsp;&euro;</td></tr>'
  }
  table += '</table>'
  document.getElementById("Vinorosato").innerHTML = table;
}

var id = '13KmAf2uc13fWxPvn8dtk9j9kOL3nCVqi8H-wYau6Tww';
var gid = '0';
var url = 'https://docs.google.com/spreadsheets/d/'+id+'/gviz/tq?tqx=out:json&tq&gid='+gid;
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", url, true);
oReq.send();
 
</script>
<div id="Vinorosato">&nbsp;</div></body></html>

并适应自己的风格


推荐阅读