gpt4 book ai didi

javascript - 将带参数的 GET 发送到 HTTP 服务器

转载 作者:行者123 更新时间:2023-11-30 20:58:14 27 4
gpt4 key购买 nike

我正在尝试代码基础知识并想编写一些基本的客户端-服务器应用程序。我有一个 HTML 页面,用户在其中输入两个数字(num1num2),然后将其传递给 JS,JS 将其传递给用 NodeJS 编写的 HTTP 服务器。在服务器上,应该添加数字并将其返回到 HTML 页面。但是服务器返回这个错误:

ReferenceError: num1 is not defined

代码有什么问题?

这是JS代码:

function myFunction(num1, num2) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
num1 = Math.floor(num1);
num2 = Math.floor(num2);
document.getElementById("result").innerHTML = this.responseText;
}
};

xhttp.open("GET", "http://localhost:8080?num1=2&num2=3", true);
xhttp.send();
}

这是 NodeJS 代码:

var http = require('http');

http.createServer(function (req, res) {
var resnum = 2 + req.params(num1) + req.params(num2);
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(resnum);
res.end();
}).listen(8080);

最佳答案

你必须使用 url 模块 https://nodejs.org/api/http.html#http_message_url

var http = require('http');
var url = require('url');

http.createServer(function (req, res) {
var params = url.parse(req.url, true).query;

var resnum = 2 + params.num1 + params.num2; //or 2 + parseInt(params.num1) + parseInt(params.num2)
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(resnum);
res.end();
}).listen(8080);

关于javascript - 将带参数的 GET 发送到 HTTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47415542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com