【问题标题】:Connecting front end and back end React / Node.js连接前端和后端 React / Node.js
【发布时间】:2019-03-05 13:31:06
【问题描述】:

我正在尝试通过我的注册表单创建一个帐户,但是我不断收到此错误:

这是我的注册表单:

但是当我按下注册时,得到这个错误:

Commands: npm start
Errors: Proxy error: Could not proxy request /users/register from localhost:3000 to http://localhost:5000.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

错误照片:

非常感谢,提前感谢您。

问题解决:需要在两个不同的终端上启动React和Node项目,先运行React再运行Node项目

【问题讨论】:

  • 我需要更多信息,例如,您的服务器正在侦听的端口是什么?您的注册后端是否驻留在其他服务器上?或者也许代码 sn-p 会有所帮助。
  • 是的,var port = process.env.PORT || 5000 //5000端口值和“代理”:“localhost:5000
  • 您可以尝试将 localhost 替换为 127.0.0.1

标签: node.js reactjs


【解决方案1】:

在您的服务器中启用 cors

如果节点和表达 然后添加 cors 包,然后在入口点文件( index.js 或 app.js )中

将此与其他导入一起添加

const cors = require('cors');

然后在你的应用程序初始化之后添加这一行

app.use(cors());

并将这些行添加到反应端的请求标题中

'Access-Control-Allow-Origin': '*',

如果您使用的是 axios,那么我建议您为 axios 创建一个单独的文件

import axios from 'axios';

export default axios.create({
  baseURL: 'http://localhost:8000',
  headers: {
    'Access-Control-Allow-Origin': '*',
    'Content-Type': 'application/json'
  }
});

在那里你配置你常用的 axios 细节并导入这个文件而不是你在 react 上使用 axios 的包

如果仍然遇到问题,请复制粘贴错误,因为它显示在网络选项卡上

【讨论】:

    【解决方案2】:

    我认为解决方案是运行 node server.js 而不是 npm start

    【讨论】:

    • 你有定义路由吗?
    • 是的,var Users = require('./routes/Users') // 路由:URL
    • 尝试添加你的服务器 js : var express = require('express'); var app = express(); // 当对主页发出 GET 请求时响应“hello world” app.get('/', function(req, res) { res.send('hello world'); });
    猜你喜欢
    • 2021-09-16
    • 2020-12-03
    • 2020-05-03
    • 2018-05-16
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2021-07-06
    相关资源
    最近更新 更多