Javascript 通过Get方法将数据发送到NodeJS服务器

Javascript 通过Get方法将数据发送到NodeJS服务器,javascript,node.js,express,get,Javascript,Node.js,Express,Get,我想使用get方法向节点服务器发送一些数据或请求,然后接收这些数据并在服务器端对其进行操作。我知道有一些方法像使用邮递员,但我想从网页上发送。使用post成功接收数据。以下是我使用的代码: //server.js var express = require('express'); var app = express(); app.listen(3000, () => console.log('server is running on port 3000')); app.use(exp

我想使用get方法向节点服务器发送一些数据或请求,然后接收这些数据并在服务器端对其进行操作。我知道有一些方法像使用邮递员,但我想从网页上发送。使用post成功接收数据。以下是我使用的代码:

//server.js

var express = require('express');
var app = express();

app.listen(3000, () => console.log('server is running on port 3000'));

app.use(express.json({limit: '5mbs'}));
app.use(express.static('client'));
app.get('/', (req, res) => {console.log(req)});
index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>chat</title>
    </head>
<body>
    <h1>server is sending html</h1>
    <script src="index.js"></script>
</body>
</html>

如您所见,我试图以json格式发送此数据,但在我的代码中没有要发送的数据,但使用post,我至少能够接收请求,并且能够console.logit,然后解析req.body。但是get没有req.body,我甚至不能运行console.log req,而且控制台上也没有任何错误或其他东西。那么这里出了什么问题,我怎样才能发送常量a呢?例如,

您可以使用QueryString方法在URL中将数据发送到服务器; 是这样的:

example.com/?id=232

id
是QueryString,您可以通过
req.params.id
在Express中获取此变量。POST方法用于向端点发送数据,而get方法用于从端点请求数据

如果需要向端点发送特定数据,请使用查询参数。 服务器端逻辑在端点上访问它


为了更好地理解,请参考此内容,因此我的代码似乎缺少两个方面 首先,我没有发送任何req,因为fetch函数只获取url='/',所以没有任何东西从客户机('index.js')发送到服务器,解决方案是向它添加一些东西,例如变量a

fetch('/' + a);
需要做的第二件事是在app.get函数的url参数中的server.js上,“/:a”,因此它会获取“/”右侧的所有内容(在右侧的“/”之前),并将其放在变量a上

app.get('/:a', (req, res) => {console.log(req.params)});
req.params是一个对象,它将具有以下键:val对 假设我们要发送的另一个值b不是:

fetch('/' + a + '/' + b)
并接受它

app.get('/:a/:b', (req, res) => {console.log(req.params)});
这会打印出来

{ a: '5', b: '6' }

GET请求没有随附的正文。GET请求的数据必须位于查询参数或标题中。重要数据通常与请求正文中的POST请求一起发送。使用GET时,它不是
req.body
,而是
req.query
,控制台未显示时,我根本无法接收reqit@jfriend00我应该如何发送标题中的数据这些数据是用来做什么的?数据有多大?请求的目的是什么?这些答案决定了你应该如何发送。我要试试。你能解释一下为什么我在控制台中看不到任何东西,因为我是console.loging req,没有显示任何内容,所以显然req没有被发送到服务器。我认为问题不在于接收,而在于使用fetch()发送函数我的fetch函数有点问题,因为我在服务器上没有收到任何东西,我认为url写得不好。任何建议。很高兴看到您已经找到了解决方案,我希望这篇文章对您有所帮助,干杯谢谢。你知道,我只是这方面的一个小初学者。我们都是初学者,兄弟
{ a: '5', b: '6' }