Как получить параметр из URL в переменную - PullRequest
0 голосов
/ 21 декабря 2018

Я использую экспресс.Я хочу получить JSON, когда я запрашиваю страницу с параметром.т.е.

При вводе: http://localhost:3000/GetItemStock?fitemid=1005

Я получаю сообщение об ошибке, показывающее, что strItemID не определен .Пожалуйста, решите эту проблему.Ниже приведен код node.js.

  router.get('/GetItemStock', function(req, res, next) {
      var url = require('url');
      var url_parts = url.parse(req.url, true);
      var param = url_parts.query;
      var strItemID = req.param.fitemid; // $_GET["id"]

      GetItemStock(function(recordset)
      {

      res.send(recordset);
      });
    });

     function GetItemStock(strItemID,callback)
    {
      var sql = require('mssql');
      var config ={
        user: 'sa',
        password: '123456789',
        database: 'ROYAL',
        host: '127.0.0.1,1433'
      };
      var  cn = new sql.Connection(config,function(err)
      {
     
        var str1 = "SELECT tblBranch.fBrName, (sum(tblstocktrans.fqtyin)-sum(tblstocktrans.fqtyout)) from tblStockTrans ,tblbranch where (tblStockTrans.fItemID = '"
        var str2 ="') and (tblBranch.fbrid=tblStockTrans.fbrid) group by fbrname order by fitemid"
        var strQuery = str1 + strItemID + str2
        var request = new sql.Request(cn)
        request.query(strQuery,function(err,recordset/* data*/)
        {
        callback(recordset);
      });
    });
    }
module.exports = router; 

Это ошибка, которую я получаю.Пожалуйста, помогите

**c:\api\RmaxErpAPI\routes\index.js:117
    var strQuery = str1 + strItemID + str2
                          ^

ReferenceError: strItemID не определен **

Ответы [ 2 ]

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

Замените ваш код

  var url = require('url');
  var url_parts = url.parse(req.url, true);
  var param = url_parts.query;
  var strItemID = req.param.fitemid; // $_GET["id"]

На

  var url = require('url');
  var url_parts = url.parse(req.url, true);
  var query = url_parts.query;
  var strItemID = req.query.fitemid; // $_GET["id"]

Надеюсь, это сработает.

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

Попробуйте вместо этого, потому что это строка запроса.

var strItemID = req.query.fitemid;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...