Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从consumer.query()获取数据?_Javascript_Socrata_Soda - Fatal编程技术网

Javascript 如何从consumer.query()获取数据?

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

我想用HTML、Javascript和Socrata开发一个简单的网页

我写这一页:

    <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); });