我正在尝试在 node.js 中实现一个基本的加法程序,它通过 URL(GET 请求)接受 2 个数字,将它们加在一起,并给出结果。
var http = 要求(“http”);
var url1 = 需要("url");
http.createServer(函数(请求,响应){
response.writeHead(200, {"Content-Type": "text/plain"});
var path = url1.parse(request.url).pathname;
如果(路径==“/添加”)
{
console.log("收到添加请求\n");
var urlObj = url1.parse(request.url, true);
var number1 = urlObj.query["var"];
var number2 = urlObj.query["var2"];
var num3 = parseInt(number2);
var num4 = parseInt(number1);
var tot = num3 + num4;
response.write(tot);
response.write(number1 + number2);
}
别的
{
response.write("无效请求\n");
}
response.end();
}).听(8889);
console.log("服务器已启动。");
当我运行时,我在控制台中收到“服务器已启动”消息。但是当我请求网址时
`http://localhost:8889/addition?var=1&var2=20`
我收到以下错误:
http.js:593 throw new TypeError('第一个参数必须是字符串或缓冲区');
当我注释掉显示变量“tot”的行时,代码正在运行,我得到的输出是我传递的 2 个 get 参数的连接值。在这种情况下,它恰好是 1+20 = 120。我无法将数据转换为数字格式。
代码中的错误在哪里?错误消息的基本含义是什么?
提前谢谢了。