首页 > 解决方案 > 我们如何通过 typescript 获取 nodejs 中的 url 参数?

问题描述

我在下面写了这个 onRequest 方法,

      onRequest(request: Http.IncomingMessage, response: Http.ServerResponse): void {
        response.writeHead(200, {"Content-Type": "text/plain"});
        const tc = new TaxCalculator();
        const tax = JSON.stringify(tc.calculate(request.amount, request.rate));
        res.send(tax);
      }

我收到上述方法的错误“IncomingMessage”类型上不存在属性“数量”。

我的问题是我们如何获得通过 url 传递的金额和费率参数?

标签: node.jstypescriptexpress

解决方案


如果您使用的是 ES6 和 Express,请尝试以下解构方法:

   const { amount, rate } = url.parse(request.url, true).query;

在代码中:

  var url = require('url');

  onRequest(request: Http.IncomingMessage, response: Http.ServerResponse): void {
        response.writeHead(200, {"Content-Type": "text/plain"});
        const tc = new TaxCalculator();
        const queryData = url.parse(request.url, true).query;
        const { amount, rate } = queryData;
        const tax = JSON.stringify(tc.calculate(amount, rate));
        res.send(tax);
      }

推荐阅读