Javascript 在JSON node.js中使用变量
我正在编写一些代码,允许我使用HTTP&Express从两个节点实例来回发送消息 每个客户端生成一个UUID类型的标识,然后将其发送到主服务器进行存储和身份验证 这是客户端,您可以在底部看到,它生成了我认为是json字符串的内容,我在包含ID之前分配了一个变量,我试图使用此ID发送到服务器进行处理 Client.jsJavascript 在JSON node.js中使用变量,javascript,json,node.js,Javascript,Json,Node.js,我正在编写一些代码,允许我使用HTTP&Express从两个节点实例来回发送消息 每个客户端生成一个UUID类型的标识,然后将其发送到主服务器进行存储和身份验证 这是客户端,您可以在底部看到,它生成了我认为是json字符串的内容,我在包含ID之前分配了一个变量,我试图使用此ID发送到服务器进行处理 Client.js var request = require('request'); var sendservlet = request.post; var fs = require('fs');
var request = require('request');
var sendservlet = request.post;
var fs = require('fs');
var path = require('path');
var crypto = require('crypto');
if (fs.existsSync('foo.txt')) {
console.log('Found ');
fs.readFile('foo.txt', "utf-8" , function (err, data) {
if (err) throw err;
console.log(data);
});
} else {
console.log("Did not find file, i must first register you to the server.");
function randomValueHex (len) {
return crypto.randomBytes(Math.ceil(len/2))
.toString('hex')
.slice(0,len);
}
var ID = randomValueHex(7)
console.log("Your New Identification Number Is: " + ID);
sendservlet(
'http://192.168.1.225:3000',
{ form: { key: ID } },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
console.log(ID)
}
}
);
}
Server.JS
var express = require('express');
var bodyParser = require('body-parser')
var app = express();
app.use(bodyParser.urlencoded({ extended: false }));
var crypto = require('crypto');
app.post('/', function (req, res) {
res.send('POST request to the homepage');
console.log(req.body.form.key);
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
服务器似乎无法读取它,我相信我不能这样调用变量
为了帮助缩小这个问题的范围,我严格地询问为什么不能在中传输ID变量
sendservlet(
'http://192.168.1.225:3000',
{ form: { key: ID } },
非常感谢您提供的任何建议 而不是
console.log(req.body.form.key)
,您只需要console.log(req.body.key)代码>
form
键正是request
用于(基本上)“这是我的表单数据,所以这是要发布到URL的内容。”在request
端的form
中的任何内容都会被放入express
端的req.body
中。因此,您需要req.body.key
安装Wireshark并查看在客户端和服务器之间发送的数据包。这将非常有启发性,因为您的核心问题是这一部分:“它生成我认为是json字符串的内容”您在执行console.log(req.body)
时看到了什么?