URL(GETリクエスト)を介して2つの数字を受け入れる基本的な追加プログラムをnode.jsに実装しようとしています。これらは一緒に追加され、結果が得られます。
var http = require("http");
var url1 = require("url");
http.createServer(関数(リクエスト、レスポンス) {
response.writeHead(200, {"Content-Type": "text/plain"});
var path = url1.parse(request.url).pathname;
if(パス == "/追加")
{
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");
}
応答.終了();
}).リッスン(8889);
console.log("サーバーが起動しました。");
実行すると、コンソールに「サーバーが開始されました」というメッセージが表示されます。しかし、私がURLをリクエストすると
`http://localhost:8889/addition?var=1&var2=20`
次のエラーが表示されます。
http.js:593 throw new TypeError('最初の引数は文字列またはバッファでなければなりません');
変数「tot」を表示する行をコメントアウトすると、コードが実行され、取得する出力は、渡した 2 つの get パラメータの連結値になります。この場合、たまたま 1+20 = 120 になります。データを数値形式に変換できません。
コードのどこが間違っていますか?そして、エラーメッセージは基本的にどういう意味ですか?
よろしくお願いします。