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 注入的影响。