带有Express的NodeJS 4不会通过get / post向服务器发送请求

时间:2020-02-15 07:49:15

标签: javascript node.js

Branching from the project of mine from old question.

我试图用Express编写NodeJS来读取端口9999上的ip地址值,并且Internet来自我自己计算机的wifi热点共享,所以我编写了这样的代码。

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var cors = require('cors');
var dateToday = new Date();
var yearToday = dateToday.getFullYear();
var sensor_name                  = "living-room";
var hist_temperature_file_path   = "sensor-values/temperature_" + sensor_name + "_log_" + yearToday.toString() + ".csv";
var latest_temperature_file_path = "sensor-values/temperature_" + sensor_name + "_latest_value.csv";
var hist_humidity_file_path      = "sensor-values/humidity_" + sensor_name + "_log_" + yearToday.toString() + ".csv";
var latest_humidity_file_path    = "sensor-values/humidity_" + sensor_name + "_latest_value.csv";
var csv_header_temperature       = "timestamp,temperature_in_celsius\n";
var csv_header_humidity          = "timestamp,relative_humidity\n";
var sec_between_log_entries      = 60;
var latest_humidity              = 0.0;
var latest_temperature           = 0.0;
var latest_value_datetime;
var dateTime = new Date().toISOString().replace('T', ' ').substr(0, 19);
const fetch = require('node-fetch');
var ipAddress;

app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
/*app.use(function (req, res) {
  res.setHeader('Content-Type', 'application/json');
})*/
app.set('port', (process.env.PORT || 9999));
//app.set('trust proxy', true)

/*app.get('/temperature_humidity', function (req, res) {
  console.log('test1')
  latest_temperature = req.body.temperature;
  latest_humidity = req.body.humidity;
    console.log(latest_temperature)
  console.log(latest_temperature)
    res.send('success : ' + req.body.temperature + ',' + req.body.humidity)
})*/

app.get('/', function (req, res) {
  ipAddress = req.ip;
  console.log(req.ip);
})

fetch('http://' + ipAddress + '/temperature_humidity')
  .then(response => response.json())
  .then(data => {
    console.log(data);
  })

app.listen(app.get('port'), function () {
  console.log('run at port', app.get('port'));
})

但是,当我使用方法app.getapp.post运行代码时,服务器端未在日志中显示任何请求或响应,表明没有请求发送到服务器。但是NodeJS的终端仍然显示run at port 9999,没有其他app.日志显示

The terminal log

您能告诉我如何解决此问题吗?

P.S。 fetch部分的原因实际上是由于我无法使用get/post的原因,所以我暂时将fetch和固定IP地址用作占位符。

编辑:这是我首先要用于获取价值的代码,但它不显示正在发送请求或正在接收价值。

app.get('/temperature_humidity', function (req, res) {
  console.log('test1')
  latest_temperature = req.body.temperature;
  latest_humidity = req.body.humidity;
    console.log(latest_temperature)
  console.log(latest_temperature)
    res.send('success : ' + req.body.temperature + ',' + req.body.humidity)
})

0 个答案:

没有答案