繁体   English   中英

在JSON node.js中使用Variable

[英]Using Variable In JSON node.js

我正在编写一些代码,允许我使用HTTP和Express从两个节点实例来回发送消息。

每个客户端生成UUID类型的标识,然后将其发送到主服务器以进行存储和身份验证。

这是客户端,您可以在底部看到它生成了我认为是json字符串的东西,我在包含ID之前分配一个变量,我试图使用此ID发送到服务器进行处理。

Client.js

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用于(基本上)“这是我的表单数据,所以这是POST到URL的东西。” 无论在request方面的form是什么,只需在express方面进入req.body 所以你想要req.body.key

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM