【发布时间】:2019-04-08 18:39:27
【问题描述】:
我正在使用教程,因此添加了以下代码
var express = require('express'); // Web Framework
var app = express();
var sql = require('mssql'); // MS Sql Server client
// Connection string parameters.
var sqlConfig = {
user: 'student',
password: 'something',
server: 'localhost',
database: 'Raw_Data'
}
// Start server and listen on http://localhost:8081/
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("app listening at http://%s:%s", host, port)
})
app.get('/', function (req, res) {
sql.connect(sqlConfig, function() {
var request = new sql.Request();
request.query('select * from testtable', function(err, recordset) {
if(err) console.log(err);
res.end(JSON.stringify(recordset)); // Result in JSON format
});
});
})
使用节点 server.js 启动服务器后,我在访问 localhost:8081 时收到错误语句无法 GET/。你有什么想法吗?
【问题讨论】:
-
查看您的代码,我没有发现任何错误。我将您的代码复制到我的本地,注释 sql 部分并执行。我没有发现任何问题。我假设服务器可能尚未在您的系统中启动。启动服务器后,您是否看到控制台日志“app正在侦听 http://:::8081”?
-
是的,我看到 C:\Users\Mi>node test1.js 应用程序正在监听 http://:::8081
-
@oreo2geek 能否请您 console.log(recordset) 告诉我们连接是否已建立?
-
您是否从运行 Express 服务器的同一台计算机访问它?
-
@sreehari 它返回给我一个错误:ReferenceError:recordset is not defined at Server.
(C:\Users\Mi\test1.js:19:17) at Object.onceWrapper (events .js:273:13) 在 Server.emit (events.js:182:13) 在 emitListeningNT (net.js:1320:10) 在 process._tickCallback (internal/process/next_tick.js:63:19) 在 Function .Module.runMain (internal/modules/cjs/loader.js:744:11) 在启动时 (internal/bootstrap/node.js:285:19) 在 bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
标签: javascript node.js express routes