我正在使用MEAN Stack构建一个应用程序,并希望集成一个SQL数据库,特别是获取数据表并在浏览器本地主机上读取它们。
到目前为止,我能够使用以下代码读取任何数据表。但是,此代码只是控制台在终端中记录数据表,但我想在浏览器中读取它们。有什么建议吗?
var Connection = require("tedious").Connection;
var Request = require("tedious").Request;
// Create connection to database
var config = {
userName: "insert username",
password: "insert password",
server: "insert server",
options: {
database: "insert database name",
encrypt: true
}
};
var connection = new Connection(config);
// Attempt to connect and execute queries if connection goes through
connection.on("connect", function(err) {
if (err) {
console.log(err);
} else {
console.log("Connected to SQL database!");
queryDatabase();
}
});
function queryDatabase() {
console.log("Reading rows from the Table...");
// Read all rows from table
request = new Request("SELECT * from <insert name of existing datatable from database", function(
err,
rowCount,
rows
) {
console.log(rowCount + " row(s) returned");
process.exit();
});
request.on("row", function(columns) {
columns.forEach(function(column) {
console.log("%st%s", column.metadata.colName, column.value);
});
});
connection.execSql(request);
}
假设您有一个响应对象,则可以改为以数组形式收集当前记录到控制台的列数据,然后将该数组发送到编码为 JSON 字符串的浏览器。
request.on("row", function(columns) {
var output = [];
columns.forEach(function(column) {
output.push("{0}t{1}".format(column.metadata.colName, column.value));
});
response.writeHead(200, {'Content-Type': 'application/json'});
response.write(JSON.stringify(output))
response.end();
});
在除 Firefox 之外的所有浏览器上,JSON 默认显示为纯文本。要在 Chrome 中将其作为树结构查看,您可以转到开发者工具->网络,重新加载页面,然后点击结果>预览以将其视为可折叠的树结构。否则,我建议您安装一个插件来查看解析的 JSON。对于chrome,我强烈推荐JSON Formatter插件。我对其他浏览器没有有用的建议,但你可以谷歌搜索这些。
看
- https://nodejs.org/api/http.html#http_class_http_serverresponse
- https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa/related