javascript - express js get方法后浏览器选项卡不断加载
问题描述
我正在尝试使用 Express.js 构建一个简单的 REST API,这是第一次使用它。
所以我使用npx express-generator
. 然后,在 /routes/users.js 上,我添加了一个 get 方法来使用以下代码从 MSSQL 数据库中检索数据:
router.get('/api/v1/test', (req, res) => {
(async () => {
try {
let pool = await sql.connect(dbConfig);
let result1 = await pool.request().query('select * from andromedadb.dbo.test');
console.dir(result1);
} catch (err) {
console.log('err', err);
}
})();
});
我知道连接成功,因为控制台打印以下内容:
{
recordsets: [ [ [Object] ] ],
recordset: [ { id: 1, name: 'hello', age: 17 } ],
output: {},
rowsAffected: [ 1 ]
}
我的问题是浏览器选项卡不断加载并一遍又一遍地执行 get 方法。
我还尝试了https://www.js-tutorials.com/nodejs-tutorial/simple-example-of-nodejs-express-with-mssql/#Listing_Nodejs_MSSQL_Using_Express上的代码片段,但同样的事情正在发生。
提前致谢。
解决方案
您需要将响应发送回请求。我刚刚修改了您的代码,请查看以下代码中的更改。
router.get('/api/v1/test', (req, res) => {
(async () => {
try {
let pool = await sql.connect(dbConfig);
let result1 = await pool.request().query('select * from andromedadb.dbo.test');
console.dir(result1);
res.status(200).send(result1);
} catch (err) {
res.status(401).send(err);
console.log('err', err);
}
})();
});
推荐阅读
- r - binsmooth 包中的 aproxfun 函数,从 y 值中找到 x
- clojure - 使用 update 和 inc 更新 atom 失败
- amazon-web-services - 为 SAML 的 IAM 角色创建策略
- swift - 名称节点始终为零 - ARKit Swift
- javascript - 当我选中一个复选框(同一类)并将值插入文本框时,我如何选中另一个复选框
- apache-spark - 如何在 spark 2.4.1 中将 jdbc/partitionColumn 类型设置为 Date
- pandas - 将值从多列传播到单列 - Pandas
- javascript - 如何在 iframe 中运行由 Angular 制作的 chrome 扩展
- html - 如何获取嵌入在我的 html 中的链接的状态代码
- python-3.x - Pytorch RNNLearner predict 导致 docker 内存泄漏