未捕获的SyntaxError:使用JSON.stringify()的意外标识符

时间:2019-06-17 19:26:26

标签: javascript node.js json express ag-grid

我正在尝试使用ag-Grid使用MSSQL在表上显示一些数据。我的问题是当我在{strong>服务器端上console.log(JSON.stringify(field1))告诉我:

recordset:[ { field1 : 'Alexandra.Bernhard' }, { field1 : 'Andrew.Collins' }],

但是,当我在客户端尝试相同的操作时,会收到错误消息

Uncaught SyntaxError: Unexpected identifier

router.js

router.get('/', async (req, res) => {
    try {
      var field1 = await conn.query("SELECT DISTINCT TOP 100 Names FROM Table1");
      JSON.stringify(field1) 
      console.log(field1) //recordset:[ { Resource_Email_ID: 'Alexandra.Bernhard' }, { Resource_Email_ID: 'Andrew.Collins' }],
      res.render('index', {field1: field1});
    } catch (err) {
      res.status(500).send(err.message)
    }
  });

index.ejs

var obj = "<%- JSON.stringify(field1) %>" //[object, Object]

var columnDefs = [{headerName: "Names", field: "name"}];
    // specify the data
    var rowData = [{name : obj}];

    // let the grid know which columns and what data to use
    var gridOptions = {
      columnDefs: columnDefs,
      rowData: rowData
    };

如何获取实际值以显示在表格中?

2 个答案:

答案 0 :(得分:0)

您不应在其周围加上引号。 JSON.stringify()产生一个JavaScript文字,您需要用它来替换以将对象分配给变量。

var obj = <%- JSON.stringify(field1) %>

答案 1 :(得分:-1)

这是一个简单的修复程序,我不得不将obj传递到rowData变量中并删除双引号。

var obj = <%- JSON.stringify(field1) %> 
var columnDefs = [{headerName: "Distinct_Names", field: "obj"}];
    // specify the data
    var rowData = obj;