Node.js 带参数的网页脚本(参数)
Node.js Script on the web-page with arguments(parameters)
我是 NODE.js 的菜鸟。我们来了。
这是我的 NODE.js 代码:
// CONFIGURATION
var ISOCODE = process.argv[2];
var DATE_FROM = process.argv[3];
var DATE_TO = process.argv[4];
var express = require('express');
var app = express();
var config = require('./config');
var sql = require("mssql");
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query(`
SELECT IsoCountryCode,PLU,sum(Quantity) AS Quantity
FROM IntegrationRepository_PROD.Drupal.Export_ProductSales
WHERE IsoCountryCode = '${ISOCODE}'
AND OrderDateTime >= '${DATE_FROM}'
AND OrderDateTime <= '${DATE_TO}'
GROUP BY IsoCountryCode,PLU`, function (err, result, fields) {
if (err) console.log(err)
console.log(result);
});
});
我需要通过使用来自网站 link 的参数以某种方式将结果(console.log(结果);)中的信息打印到网站页面?可能吗?
网站 link 将如下所示 -
http://website.com/ISOCODE=GB&DATE_FROM=2018-11-03&DATE_TO=2018-11-03
或类似的东西
我认为 Url 将是:http://website.com/?ISOCODE=GB&DATE_FROM=2018-11-03&DATE_TO=2018-11-03
(注意 ?
)
您需要为该应用程序创建 GET
路由。
// STEP 1. Create ROUTE
app.get('/', (req, res) => {
// STEP 2. Extract the GET variables
//get the variables from request params.
const { ISOCODE, DATE_FROM, DATE_TO } = req.query;
/* Your SQL CODE, can use ISOCODE, DATE_FROM, DATE_TO as variables*/
});
但是,您必须清理输入,因为它非常容易受到 SQL 注入的影响。
我是 NODE.js 的菜鸟。我们来了。
这是我的 NODE.js 代码:
// CONFIGURATION
var ISOCODE = process.argv[2];
var DATE_FROM = process.argv[3];
var DATE_TO = process.argv[4];
var express = require('express');
var app = express();
var config = require('./config');
var sql = require("mssql");
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query(`
SELECT IsoCountryCode,PLU,sum(Quantity) AS Quantity
FROM IntegrationRepository_PROD.Drupal.Export_ProductSales
WHERE IsoCountryCode = '${ISOCODE}'
AND OrderDateTime >= '${DATE_FROM}'
AND OrderDateTime <= '${DATE_TO}'
GROUP BY IsoCountryCode,PLU`, function (err, result, fields) {
if (err) console.log(err)
console.log(result);
});
});
我需要通过使用来自网站 link 的参数以某种方式将结果(console.log(结果);)中的信息打印到网站页面?可能吗?
网站 link 将如下所示 -
http://website.com/ISOCODE=GB&DATE_FROM=2018-11-03&DATE_TO=2018-11-03
或类似的东西
我认为 Url 将是:http://website.com/?ISOCODE=GB&DATE_FROM=2018-11-03&DATE_TO=2018-11-03
(注意 ?
)
您需要为该应用程序创建 GET
路由。
// STEP 1. Create ROUTE
app.get('/', (req, res) => {
// STEP 2. Extract the GET variables
//get the variables from request params.
const { ISOCODE, DATE_FROM, DATE_TO } = req.query;
/* Your SQL CODE, can use ISOCODE, DATE_FROM, DATE_TO as variables*/
});
但是,您必须清理输入,因为它非常容易受到 SQL 注入的影响。