gpt4 book ai didi

javascript - 如何使用 XMLHttpRequest 将数据从客户端 Javascript 传递到 node.js?

转载 作者:行者123 更新时间:2023-12-03 00:25:44 29 4
gpt4 key购买 nike

我的 index.html 文件中有 HTML 输入。

<input type="text" id="handle" >
<input type="text" id="message" >
<button id="send">send</button>

当我填写数据并单击发送时,我想将它们发送到我的 Node 脚本,我可以在其中使用传递的数据执行某些操作。

我的index.html的脚本:

$("#send").on("click", function() {
var message = $("#message").val();
var handle = $("#handle").val();


var xhr = new XMLHttpRequest();
var data = {
param1: handle,
param2: message
};
xhr.open('POST', '/data');
xhr.onload = function(data) {
console.log('loaded', this.responseText);
};
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(data));

});

以及我如何尝试在服务器端 test.js 文件中接收数据。

app.post('/data', function(req, res){

var obj = {};
console.log('body: ' + req.body);
res.send(req.body);

});

在本例中,输出显示:body: undefined

如何将数据从客户端页面发送到服务器端,以便我可以使用它们执行其他操作?

最佳答案

您只需要在 Express 中使用 JSON 正文解析器,如下所示:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;

app.use(express.static('./'));
/* Parse JSON data using body parser. */
app.use(bodyParser.json());

app.post('/data', function(req, res){
console.log('body: ', req.body);
res.send(req.body);
});

app.listen(port);

如果该模块尚不存在,只需执行 npm 安装:

npm install body-parser

关于javascript - 如何使用 XMLHttpRequest 将数据从客户端 Javascript 传递到 node.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54104306/

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