Ошибка node.js - генерировать новый TypeError («первый аргумент должен быть строкой или буфером»);
Я пытаюсь реализовать базовую программу сложения в node.js, которая принимает 2 числа через URL (запрос GET), складывает их вместе и выдает результат.
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.");
Когда я бегу, я получаю "Сервер запущен" сообщение в консоли. Но когда я запрашиваю URL
`http://localhost:8889/addition?var=1&var2=20`
Я получаю следующую ошибку:
http.js:593 throw new TypeError('first argument must be a string or Buffer');
Когда я закомментирую строку, которая отображает переменную "tot", код выполняется, и вывод, который я получаю, является объединенным значением двух параметров get, которые я передаю. В этом случае это будет 1 + 20 = 120. Я не могу преобразовать данные в числовой формат.
Где ошибка в коде? А что в основном означает сообщение об ошибке?
Спасибо заранее.