网上node的响应大都是返回写死的json,但实际开发应该是返回数据库查询的结果,所以这里编写一个简单的node返回数据库查询结果的例子
- 首先,在前端项目中发起请求:
这里axios的封装以及前端跨域不做描述。
let data = {}
this.http.post('/admin/getOrderList', data).then(res => {
console.log(res)
})
- node中编写接收代码:
这里需要使用es7的async进行异步执行,orderList是查询数据库后返回的数据
// db指向的是你的数据库地址
var db = require('./db.js')
// 获取列表接口
app.post('/getOrderList', async function(req,res){
let orderList = await db.getWxorder();
let data = {
orderList
}
let response = {
"status": '200',
"error" : '0',
"data" : data
};
res.end( JSON.stringify( response ) );
})
- 编写数据库查询代码:
// db.get只能获得第一条 db.all是全部
// select * from 你的表名
// 需要return Promise,不然会返回空
exports.getWxorder = function () {
return new Promise((resolve) => {
db.all("select * from wxorder;", function (err, res) {
resolve(res)
})
});
}
前端console结果: