如何从url获取参数到变量
Posted
技术标签:
【中文标题】如何从url获取参数到变量【英文标题】:How to get the parameter from url to a Variable 【发布时间】:2019-05-21 19:52:41 【问题描述】:我正在使用快递。当我请求带有参数的页面时,我想获取 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 未定义**
【问题讨论】:
你检查过我的答案了吗……它有效吗? @RaghbendraNayak 它不起作用。我已经包含了调试器日志。请看看并帮助我。 【参考方案1】:试试这样吧,因为它是一个查询字符串。
var strItemID = req.query.fitemid;
【讨论】:
【参考方案2】:替换你的代码
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"]
希望它会起作用。
【讨论】:
以上是关于如何从url获取参数到变量的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 htaccess 以从用户友好的 URL 获取参数以与 JS 一起使用