使用Postgres的Node.js

时间:2019-06-30 20:54:33

标签: javascript

我不知道如何从我的js文件访问对象。我正在使用Nodejs,并且想访问对象名称jsonData,但我一直收到错误消息。

我在html文件中执行的操作是这样调用位于我js文件中的对象:

var geodata = JSON.stringify({{jsonData}});

这是js文件中的代码:

/* GET Postgres JSON data */
app.get('/data', function (req, res, next) {
    var client = new Client(conString);
    client.connect();
    var query = client.query(new Query(shapefiles));
    query.on("row", function (row, result) {
        result.addRow(row);
    });   
    query.on("end", function (result) {
        const data = result.rows[0].row_to_json;
        res.render('shapefile', {
            jsonData: data 
        });
    });
});

我得到的错误是: 未捕获的SyntaxError:意外的标识符

我只是想访问我的html文档中的jsonData对象

谢谢

1 个答案:

答案 0 :(得分:0)

jsonData是一个对象。

通过将其放在{{}}之间,可以将其隐式转换为字符串。

这将导致[object Object](运行对象的toString方法的默认结果。

您需要将其转换为对象的JavaScript源代码表示形式。幸运的是,JSON语法是JavaScript文字语法的子集,因此您可以为此使用JSON.stringify。

    res.render('shapefile', {
        jsonData: JSON.stringify(data) 
    });

geodata为JSON字符串而不是JavaScript对象对您很有用,所以您可能想要:

var geodata = {{jsonData}};