代理错误:无法将请求 /auth/register 从 localhost:3000 代理到 http://localhost:8800/api/

2024-04-30

注册.jsx

import React from 'react'
import { useState } from "react";
import {Link } from 'react-router-dom'
import axios from "axios";

const Register = () => {
const [inputs,setInputs] = useState({
  username:"",
  email:"",
  password:"",
})
const [err, setError] = useState(null)
const handleChange = e =>{
  setInputs(prev=>({...prev, [e.target.name]: e.target.value}))
}

const handleSubmit = async e =>{
  e.preventDefault()
//  try{
   const res = await axios.post("/auth/register", inputs)
console.log ("test",res)
// }catch(err){
  // console.log("test",err.response.data)
  // }
}

  return (

    <div className='auth'>
        <h1>Register</h1>
        <form>
            <input required type="text" placeholder='username' name='username' onChange={handleChange}/> 
            <input required type="email" placeholder='email' name='email' onChange={handleChange}/>
            <input required type="password" placeholder='password' name='password' onChange={handleChange}/>
            <button onClick={handleSubmit} >Register</button>
            {err &&<p>{err}</p>}
            <span>Do you have an account? <Link to="/login">Login</Link>
            </span>
        </form>
    </div>
  );
}

export default Register

auth.js

import { db } from "../db.js";
import bcrypt from "bcryptjs";

export const register = (req, res) => {
    //CHECK EXISTING USER
    const q = "SELECT * FROM users WHERE email = ? OR username = ?";
  
    db.query(q, [req.body.email, req.body.username], (err, data) => {
      if (err) return res.status(500).json(err);
      if (data.length) return res.status(409).json("User already exists!");
  
      //Hash the password and create a user
      const salt = bcrypt.genSaltSync(10);
      const hash = bcrypt.hashSync(req.body.password, salt);
  
      const q = "INSERT INTO users(`username`,`email`,`password`) VALUES (?)";
      const values = [req.body.username, req.body.email, hash];
  
      db.query(q, [values], (err, data) => {
        if (err) return res.status(500).json(err);
        return res.status(200).json("User has been created.");
      });
    });
  };

export const login = (req, res) ={};
export const logout = (req, res) ={};

包.json

{
  "name": "booking",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.4",
    "@testing-library/react": "^13.1.1",
    "@testing-library/user-event": "^13.5.0",
    "axios": "^0.27.2",
    "dompurify": "^2.4.0",
    "moment": "^2.29.4",
    "react": "^18.0.0",
    "react-dom": "^18.0.0",
    "react-quill": "^2.0.0",
    "react-router-dom": "^6.4.1",
    "react-scripts": "5.0.1",
    "sass": "^1.55.0",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "proxy": "http://localhost:8800/api/"
}

我正在关注教程

我陷入了这个错误:代理错误:无法将请求 /auth/register 从 localhost:3000 代理到 http://localhost:8800/api/。 看https://nodejs.org/api/errors.html#errors_common_system_errors https://nodejs.org/api/errors.html#errors_common_system_errors了解更多信息(ECONNREFUSED)。

请帮忙

我尝试了网上的所有方法都不起作用


看一眼开发中代理 API 请求 https://create-react-app.dev/docs/proxying-api-requests-in-development。当你在里面定义React服务器代理时package.json,它不应在末尾包含路径名(/api)就像你一样。它应该看起来像:

"proxy": "http://localhost:8800",

它还假设您正在使用/api/*要求。在你的情况下,你正在使用/auth/*.

我建议使用client/src/setupProxy.js文件。这样你就可以定义多个代理到后端的路径:

const { createProxyMiddleware } = require('http-proxy-middleware');

const proxy_urls = ['/api/*', '/auth/*'];

const target = 'http://localhost:8800';

module.exports = function (app) {
  proxy_urls.forEach((url) => {
    app.use(url, createProxyMiddleware({ target }));
  });
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代理错误:无法将请求 /auth/register 从 localhost:3000 代理到 http://localhost:8800/api/ 的相关文章

随机推荐

  • Visual Studio 2015 Docker 集成不会附加调试

    我使用 VS 2015 创建了一个 Default net Core RC2 MVC 应用程序 我添加了 Docker 支持 以便我可以在 docker 中运行和调试它 当我运行该项目时 它会构建 docker 容器并启动它 运行命令 do
  • Biztalk 2009 和 2010 .btproj 项目中的增量构建支持吗?

    在追求增量构建时间改进时 我发现 btproj 文件以及依赖于这些文件的所有其他项目都会在每个增量构建上 部分 重建 一直跟踪到 BizTalkCommon targets 我发现它对程序集进行了 2 遍编译 但只有第一遍尊重已经构建的工件
  • 对登录 Instagram 的 PhantomJS 代码进行故障排除

    我编写了这个 PhantomJS 脚本来自动登录 Instagram 它可以成功填写表单字段并按提交按钮 但它总是被重定向回登录屏幕并显示以下消息 你的用户名或密码不正确 我 100 确信凭据是正确的 并且我用多个 Instagram 帐户
  • d3.js 和 Chart.js 之间的比较(仅适用于图表)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在项目中多次使用过 Chart js 但从未使用过 d3 js 很多人说 d3 js 是最好的图表 javascript 框架 但没
  • 如何获取 Highcharts 中某个点的索引?

    我正在使用 Highcharts 的 具有不规则间隔的时间数据 图表 如您所知 当鼠标移动到线条点上时 格式化程序函数将运行并显示一些信息 我想知道鼠标在其上移动的点的索引 因此 如果鼠标移动到该线的第一个点上 工具提示将显示 1 第二个点
  • 为什么不能直接访问带索引的数组?

    当我尝试直接使用索引访问数组元素时 我感到很困惑 我想我可以在编码中更好地解释它 我有一个 Employee 类的对象 我将其 TypeCast 到数组并尝试像这样显示它 arrOfObj array objEmployee arrKeys
  • windows bat 文件中的 bang 字符是什么意思?

    我正在尝试更正一个使用 bang 字符的 bat 文件 我本来期望某种形式的引用 就像是 set some var some var 然后后来 some command some var 看起来第一个是在禁用回显的情况下提示输入 例如提示输
  • Django 压缩器和模板继承

    我正在使用Django 压缩器 https github com mintchaos django compressorDjango 1 2 3 中的 app 用于缩小和合并许多包含的 CSS 和 JS 文件 在基本模板中 我有 load
  • Java中如何让另一个线程休眠

    我有一个扩展 Thread 的类 这个线程在运行时大部分时间都在睡眠 它会执行一个检查 如果 true 执行一个简单的操作 然后睡眠 1 2 秒并重复 该类还有一个由其他线程调用的公共方法 如果调用此函数 我希望线程在已经休眠的情况下休眠更
  • 比较 boost::system::error_category

    对于 errorCode category name 输出 asio misc 和 errorCode message 输出 文件结束 的错误 以下比较失败 如果它声称属于 asio misc 类别 那么为什么 errorCode cate
  • MediaProjection 生成扭曲的屏幕截图

    我设法获得了屏幕截图 但结果是这样的 原来的 这是我从几个来源获取的代码 final ImageReader ir ImageReader newInstance width height PixelFormat RGBA 8888 2 V
  • 如何在 linux bash shell 中对字符串数组进行排序? [复制]

    这个问题在这里已经有答案了 例如 数组是 link2 pathname link1 pathname link3 pathname 我怎样才能得到像下面这样的数组 link1 pathname link2 pathname link3 pa
  • 如何在 R 中将包含符号的绘图写入 PDF?

    我想在 R 中的箱形图的 x 轴上使用无穷大符号 我想将其写入 PDF 文件 我可以通过这样做来设置无穷大符号 names data 9 lt 但这让我在尝试编写时出现编码错误 conversion failure on in mbcsTo
  • 在QT中以不同的时间间隔更新GUI [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道如何在QT中以不同的时间间隔更新GUI 最好的是我可以控制时间间隔 我知道 QTimer 可以在同一时间间隔更新 GUI 但我
  • Angular 2.0.0-rc3:与 routerLinkActive 匹配的部分路由

    我在用着routerLinkActive在我的主要路由中 a Bob a 当网址为 user the active类将被添加到a标签 但是在主路由下 我还有一些辅助路由 所以 当网址为 user aa 活动将被删除 我希望当 URL 是 u
  • Joda-time:今年 ISO 第一周的第一天

    我想找出今年 ISO 第 1 周中星期一的日期 对于 2009 年 这将是 2008 年 12 月 29 日星期一 我确定乔达时间 http www joda org joda time cal iso html可以处理这个问题 但我就是无
  • 如何使用 Laravel 5 检查用户是否已确认

    我正在尝试开箱即用地使用 Laravel 身份验证 身份验证不是问题 但我想检查用户是否已确认他的电子邮件地址 我如何让拥有Laravel检查表值是否confirmed值为 1 在 config auth php 我已经设置 driver
  • RecyclerView 的弹跳效果

    我想在RecyclerView 每当我过度滚动内容时就会出现反弹效果 是否有一个库或示例 我也找不到任何支持 RecyclerView 弹跳效果的库 最终我自己实现了一个新的库 查看我的图书馆过度滚动弹力 android https git
  • 从 Ruby 中的方法中检索 Method 实例

    这是一个后续问题如何确定方法是在哪个类中定义的 https stackoverflow com q 34742181 477037 希望你不要介意相似之处 给定一个类层次结构 一个方法可以检索自己的方法吗 Method实例 class A
  • 代理错误:无法将请求 /auth/register 从 localhost:3000 代理到 http://localhost:8800/api/

    注册 jsx import React from react import useState from react import Link from react router dom import axios from axios cons