Javascript 如何从consumer.query()获取数据?
我想用HTML、Javascript和Socrata开发一个简单的网页 我写这一页:Javascript 如何从consumer.query()获取数据?,javascript,socrata,soda,Javascript,Socrata,Soda,我想用HTML、Javascript和Socrata开发一个简单的网页 我写这一页: <body> <script src="../lib/soda-js.bundle.js"></script> <script> var consumer = new soda.Consumer('dati.lombardia.it'); consumer.query() .withD
<body>
<script src="../lib/soda-js.bundle.js"></script>
<script>
var consumer = new soda.Consumer('dati.lombardia.it');
consumer.query()
.withDataset('mmyz-duph')
.limit(100)
.where({ localita : "Suzzara" })
.getRows()
.on('success', function(rows) { console.log(rows); alert('Ok'); })
.on('error', function(error) { console.error(error); alert('Ci sono problemi'); });
var righe = consumer.query()
.withDataset('mmyz-duph')
.limit(100)
.where({ localita : "Suzzara" })
.getRows();
/*
--- Don't work! ---
for (item in righe) {
document.write("Email: ");
document.write(item.email);
document.write('<br>');
};
*/
document.write('<br>');
document.write('Ho finito di elaborare i dati');
</script>
</body>
var consumer=新苏打水.consumer('dati.lombardia.it');
consumer.query()
.withDataset('mmyz-duph'))
.限额(100)
.where({localita:“Suzzara”})
.getRows()
.on('success',函数(行){console.log(行);警报('Ok');})
.on('error',function(error){console.error(error);alert('Ci sono problemi');});
var righe=consumer.query()
.withDataset('mmyz-duph'))
.限额(100)
.where({localita:“Suzzara”})
.getRows();
/*
---不要工作---
用于(右侧项目){
文件。写(“电子邮件:”);
文件。书写(项目。电子邮件);
文件。写(“
”);
};
*/
文件。写(“
”);
文件。书写(“Ho finito di elaborare i dati”);
苏扎拉(意大利一个小城市)有一张药店的名单,我想写下电子邮件地址(有5家店)。
从Firefox的控制台:我看到1个数组(5个对象)=>OK
如何显示电子邮件地址?
例子:
电邮:pippo@email.com
... ... ... ... 首先,JavaScript的“for-in”循环遍历数组()的键,而不是数组的每个元素
其次,您的JS正在执行一个AJAX调用,因此您当前的for循环将在您甚至从Socrata获得数据之前执行,因此不会有任何循环。这就是为什么要使用.on()
函数,以便在返回数据后可以执行代码
var consumer = new soda.Consumer('dati.lombardia.it');
consumer.query()
.withDataset('mmyz-duph')
.limit(100)
.where({ localita : "Suzzara" })
.getRows()
.on('success', function(rows) {
// since you're using a for-in loop, this is how it'd work
for (i in rows) {
console.log(rows[i]['email']);
}
})
.on('error', function(error) { console.error(error); });