微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Requests.js:7 GET http://localhost:3001/testing net::ERR_CONNECTION_REFUSED Apache 服务器、Express、React App、获取、托管

如何解决Requests.js:7 GET http://localhost:3001/testing net::ERR_CONNECTION_REFUSED Apache 服务器、Express、React App、获取、托管

我已经搜索过,有很多这样的问题,有问题的完整代码,但是在阅读评论和帖子时,有一些建议,他们说他们尝试了一些方法并且有效,但不要发布他们明确做出的实际更改。我真的会这样做。

所以这是我不知道如何在发布时设置 React 应用程序和服务器之间的通信。所以在测试和托管的机器上...... fetch() 工作得很好。当我在另一台笔记本电脑或手机上尝试时,我得到 Requests.js:7 GET http://localhost:3001/testing net::ERR_CONNECTION_REFUSED.

我使用 Apache 和 raspBerrypi 设置服务器进行测试。

从我读到的内容来看,我认为这可能与另一台计算机上的 localhost 不是本地计算机有关。我如何让它发挥作用?

这是一个示例链接http://uptoptest.hopto.org/

这是示例链接代码https://github.com/monochromaticmau/testingLiveWebsite

我应该提供 apache 的文件夹吗?我认为这是一件简单的事情,我只是想念如何正确地使 server.js 以正确的方式可用。

Requests.js

const Data = {};
const baseUrl = 'http://localhost:3001'

Data.getTest = () => {
  let url  = `${baseUrl}/testing`;
  return fetch(url).then(response => {
    if (!response.ok) {
      return new Promise(resolve => resolve([]));
    }
    return response.json().then(jsonResponse => {
      return jsonResponse.test
    });
  });
};

server.js

const express = require('express')
const app = express()
const cors = require('cors')


const PORT = process.env.PORT || 3001

app.use(express.static('public')); //'public' folder contains js,css,images

app.use(cors());
app.use(express.json());

app.use((req,res,next)=>{
    console.log(`Request!!`)
    console.log(req.originalUrl)
    console.log(req.path)
    
    //res.setHeader('Access-Control-Allow-Origin','*')
    next();
})

app.get('/testing',(req,next)=>{
    console.log('TEST REQUEST')
    res.send({test: "Data blah blah"})
})




app.listen(PORT,()=>{
    console.log(`Listening on Port ${PORT}`)
})

//Used for Testing Server
module.exports = app;

你们在这里都是非常聪明的人......如果你知道怎么做,请不要侵入我的小圆周率。

解决方法

解决方案很简单。我必须将 const baseUrl = 'http://localhost:3001' 更新为 const baseUrl = 'http://uptoptest.hopto.org:3001' 并在我的路由器上打开端口 3001。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。