Chu*_*cio 2 javascript sql-server node.js express
我正在尝试学习如何使用Node和Express.js构建api。我已找到下一步:单击此处
并使用我的数据创建了一个非常相似的版本:
var express = require("express");
var bodyParser = require("body-parser");
var sql = require("mssql");
var app = express();
app.use(bodyParser.json());
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, contentType,Content-Type, Accept, Authorization");
next();
});
var server = app.listen(process.env.PORT || 8080, function () {
var port = server.address().port;
console.log("App now running on port", port);
});
var dbConfig = {
user: "myUser",
password: "myPass",
server: "myServer",
database: "MyDB"
};
var executeQuery = function(res, query){
sql.connect(dbConfig, function (err) {
if (err) {
console.log("Error al conectarse a la base :- " + err);
res.send(err);
}
else {
// create Request object
var request = new sql.Request();
// query to the database
request.query(query, function (err, res) {
if (err) {
console.log("Error al correr query en la base :- " + err);
res.send(err);
}
else {
res.send(res);
}
});
}
});
}
//GET API
app.get("/api/ApiRequestData", function(req, res){
var query = "select * from [RequestData]";
executeQuery (res, query);
});
Run Code Online (Sandbox Code Playgroud)
创建server.js文档后,使用执行npm install并运行node server.js,我使用下一个url在邮递员上打开:http://localhost:8080/api/ApiRequestData并收到错误消息:“无法获得任何响应”。在节点命令提示符下,我收到消息:
TypeError:res.send不是C:\ Users \ API \ server.js:43:44处的函数:C:\ Users \ API \ node_modules \ mssql \ lib \ main.js:1588:20在Request.userCallback(连接时位于Request.callback处的C:\ Users \ API \ node_modules \ mssql \ lib \ tedious.js:853:61(C:\ Users \ API \ node_modules \ tedious \ lib \ request.js:33:27)位于Connection.dispatchEvent(C:\ Users \ API \ node_modules \ tedious \ lib \ connection.js:519:45)的消息(C:\ Users \ API \ node_modules \ tedious \ lib \ connection.js:1179:27) MessageIO。(C:\ Users \ API \ node_modules \ tedious \ lib \ connection.js:439:23)位于ReadablePacketStream的MessageIO.emit(events.js:208:7)的emitNone(events.js:106:13)。(C:\ Users \ API \ node_modules \乏味\ lib \ message-io.js:92:15)
有人知道为什么显示此消息吗?
希望您能够帮助我。
小智 5
您正在res从线var executeQuery = function(res, query){...与res从线遮挡request.query(query, function (err, res) {...。只需将最后一个重命名为res其他名称,就不会出现此错误:
request.query(query, function (err, result) {
if (err) {
console.log("Error al correr query en la base :- " + err);
res.send(err);
}
else {
res.send(result);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |