node.js Error - throw new TypeError („pierwszy argument musi być łańcuchem lub Buffer”);
Usiłuję zaimplementować podstawowy program dodawania w node.js, który akceptuje 2 liczby poprzez URL (żądanie GET) dodaje je razem i daje wynik.
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.");
Po uruchomieniu otrzymuję komunikat „Server started” w konsoli. Ale kiedy żądam adresu URL
`http://localhost:8889/addition?var=1&var2=20`
Dostaję następujący błąd:
http.js: 593 throw new TypeError („pierwszy argument musi być łańcuchem lub buforem”);
Kiedy komentuję linię, która wyświetla zmienną „tot”, kod jest uruchomiony, a dane wyjściowe, które otrzymuję, są łączoną wartością 2, otrzymuję parametry, które przekazuję. W tym przypadku zdarza się, że jest to 1 + 20 = 120. Nie jestem w stanie przekonwertować danych na format liczbowy.
Gdzie jest błąd w kodzie? A co właściwie oznacza komunikat o błędzie?
Z góry bardzo dziękuję.