我正在尝试从新的谷歌工作表(新版本的工作表)中获取数据。为此,我有以下 JavaScript 代码:
function loadData() {
//OLD google sheets
//var url = "https://docs.google.com/spreadsheet/pub?key=p_aHW5nOrj0VO2ZHTRRtqTQ&single=true&gid=0&range=A1&output=csv";
//NEW google sheets
var url = "https://docs.google.com/spreadsheets/d/12UpSf3_AsuThoNc-oZacDqnY0gQpNCGa3nsTEr03lFk/export?format=csv&gid=0";
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
//document.write(xmlhttp.responseText);
document.getElementById("display").innerHTML = xmlhttp.responseText;
//alert(xmlhttp.responseText);
}
};
xmlhttp.open("GET", url,true);
xmlhttp.send();
}
其 HTML 是:
<button type="button" onclick="loadData(); return false">Load Spreadsheet Data</button>
<div id="display"></div>
问题是我无法从新格式的谷歌表格中获取任何内容,而旧格式则可以正常工作。我总是得到 status=0,你可以在 jsfiddle 上看到这一点
该工作表已发布到网络上,并与知道链接的任何人共享。
请帮忙
最佳答案
我的工作代码 如需更多帮助:923405588490
<Script="Text/Javascript"></Script>
<Script>
function loadData() {
var url="https://docs.google.com/spreadsheet/pub?key=1HrS3DKA8LPCl3UFK6zrdmZprhK2rWNFj0EjDSkyu6b4&single=true&gid=0&range=A2&output=csv";
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status==200){
document.getElementById("display").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
setTimeout(myTimeout1, 5000)
function myTimeout1() {
var data=document.getElementById("display").innerHTML
alert(data);
//var a='fsddsdabc';
//document.getElementById('id1').value=data ;
alert("Success")
}
}
</Script>
<html>
<body>
<button type="button" onclick="loadData()">Load Spreadsheet Data</button>
<div id="display"></div>
<input type="Text" id="id1" </input>
</body>
</html>
关于javascript - 谷歌新工作表格式上的 XmlHttpRequest 状态 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912479/