在服务器端,我从数据库中获取数据
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获取数据时出现错误。 (未捕获的TypeError:this.state.comments.map不是函数) 似乎数据返回是未定义的。如果我在服务器端使用静态数据(硬代码),代码取代数据库就可以了。
我认为问题是sql.connect()中的回调函数,但我不知道如何解决它。有人可以帮忙吗?
答案 0 :(得分:0)
解决方案是添加dataType:' json'到ajax
{
code: 409,
message: 'Id xxx aldready exist'
}