Node.js Скрипт на веб-странице с аргументами (параметрами) - PullRequest
0 голосов
/ 04 декабря 2018

Я нуб с 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);

    });
});

Мне нужно как-то распечатать информацию из результата ( console.log (result); ) на страницу сайта, используя аргументы из ссылки на сайт?это возможно?

Ссылка на сайт будет выглядеть так -

http://website.com/ISOCODE=GB&DATE_FROM=2018-11-03&DATE_TO=2018-11-03
или что-то подобное

1 Ответ

0 голосов
/ 04 декабря 2018

Я думаю, что 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-инъекции.

...