私はURLを介して2つの数字を受け入れるnode.jsに基本的な追加プログラム(GET Request)を実装しようとしています。それらを一緒に追加して結果を返します。node.js Error - 新しいTypeErrorをスローします( '最初の引数は文字列またはバッファでなければなりません)。
var http = require("http"); var url1 = require("url"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); var path = url1.parse(request.url).pathname; if(path == "/addition") { console.log("Request for add recieved\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); } else { response.write("Invalid Request\n"); } response.end(); }).listen(8889); console.log("Server started.");
私が実行すると、コンソールに「Server started」というメッセージが表示されます。しかし、私は次のエラー取得しています
`http://localhost:8889/addition?var=1&var2=20`
URLを要求する場合:
http.js:593 スロー新しいTypeError例外( '最初の引数が文字列やバッファでなければなりませんが');
変数 'tot'が表示されている行をコメントアウトすると、コードが実行され、出力は2つの取得パラメータの連結値になります。この場合、1 + 20 = 120となります。 データを数値形式に変換できません。
コードの間違いはどこですか?そして、エラーメッセージは基本的にどういう意味ですか?
事前に感謝します。
注:サーバーであなたのような書き込みをすることができますので、これは、HTTPサーバのための基礎の多くを処理します。(server.js:21:18)は、問題が21行目にあることを示しています。問題をすばやく見つけるのに役立ちます。 –
jjrv