如何在HTTP get方法中返回数据库数据

在服务器端,我从数据库中获取数据

var sql = require('mssql'); app.get('/api/comments', function(request, response) { var sqlConfig = { // Connection string parameters. } sql.connect(sqlConfig, function() { var request = new sql.Request(); var stringRequest = 'select TOP 10 * from comment'; request.query(stringRequest, function(err, recordset) { if(err) console.log(err); sql.close(); response.json(recordset); }); }); }); 

然后,我通过AJAX从服务器端获取数据(get方法)

  _fetchComments() { jQuery.ajax({ method: 'GET', url: '/api/comments', success: (comments) => { this.setState({ comments }) } }); 

当我通过Ajax获取数据时出现错误。 (Uncaught TypeError:this.state.comments.map不是函数)看起来数据返回是未定义的。取代数据库,代码是工作,如果我在服务器端使用静态数据(硬代码)。

我认为问题是sql.connect()中的callback函数,但我不知道如何解决它。任何人都可以提供帮助吗?

错误: 在这里输入图像描述

解决scheme是将数据types:'json'添加到ajax

  _fetchComments() { jQuery.ajax({ method: 'GET', url: '/api/comments', dataType: 'json', success: (comments) => { this.setState({ comments }) } }); }