实际上,我是 react 和 node 的新手,我试图制造一个简单的NodeJS
服务器,该服务器从MySQL Database
返回一些数据但是后端部分出现了一些问题。
实际上,我已经在另一台计算机上安装了NodeJS,并按照此guide进行了部署。
然后在我的React-Native
应用中,我只需使用安装了后端部分的计算机的ip对NodeJS
进行简单的 fetch 调用,即可完成所有工作很好,甚至可以从我的个人计算机上从NodeJS server
获取数据,但是当我在React-App中加载数据后杀死该应用时,我遇到了问题然后我重新打开,那似乎是服务器死了,我必须使用命令'node myfile.js'
杀死该应用程序后,NodeJS服务器无法从任何设备访问,并且在加载几分钟后,在浏览器中仅返回“ PAGE DOES N'T WORK ERR_EMPTY_RESPONSE”
这是位于另一台PC上的route.js文件
const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const connection = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'block',
database : 'mydb'
});
// Starting our app.
const app = express();
// Creating a GET route that returns data from the 'users' table.
app.get('/prenotazioni', function (req, res) {
// Connecting to the database.
connection.getConnection(function (err, connection) {
// Executing the MySQL query (select all data from the 'users' table).
connection.query("SELECT Data, Importo_Doc FROM tabella_pagamenti", function (error, results, fields) {
// If some error occurs, we throw an error.
if (error) throw error;
// Getting the 'response' from the database and sending it to our route. This is were the data is.
res.send(results)
});
});
});
// Starting our server.
app.listen(3000, () => {
console.log('Vai su http://localhost:3000/prenotazioni per vedere i dati.');
});
以下是我在react-app中调用fetch的方法
GetData = () => {
return fetch('http://192.168.100.160:3000/prenotazioni')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson,
}, function(){
});
})
.catch((error) =>{
console.error(error);
});
}