使用带有 React 的 Axios 发布到快递后端时遇到问题

我正在使用 React 和 Nextjs,并在端口 3001 上运行 Express 后端。


我正在尝试让我的注册页面将信息发布到数据库,但我收到了一组错误


编辑 - 修复 CORS 问题,发布到数据库时仍有问题


编辑 - 这是新的错误:


POST http://localhost:3001/users/signup 404 (Not Found)

这个未捕获的承诺错误:


createError.js:16 Uncaught (in promise) Error: Network Error

    at createError (createError.js:16)

    at XMLHttpRequest.handleError (xhr.js:83)

我认为问题出在 axios 帖子上,但我不确定。因为我已经启用了 Cors,并且在 axios 选项的标题中也启用了,所以我不确定问题是什么..


后端:


应用程序.js


const express = require("express");

const app = express();

const cors = require("cors");

const bodyParser = require("body-parser");

const logger = require("morgan");

const session = require("express-session");

const FileStore = require("session-file-store")(session);

const upload = require("express-fileupload");


app.use(upload());

console.log("Server Started!");


app.use(function (req, res, next) {

  res.header("Access-Control-Allow-Origin", "*");

  res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");

  res.header(

    "Access-Control-Allow-Headers",

    "Origin, X-Requested-With, Content-Type, Accept"

  );

  next();

});


app.use(logger("dev"));

app.use(cors);

app.use(bodyParser.urlencoded({ extended: true }));

app.use(bodyParser.json());

app.use(

  session({

    resave: false,

    secret: "hello",

    saveUninitialized: true,

    is_logged_in: false,

  })

);


const indexRouter = require("./routes/index");

app.use("/", indexRouter);


app.get('/', function (req, res) {

  res.send('<h1>hello world</h1>')

});


module.exports = app;

我不确定后端还需要什么,所有路由和东西都由 nextjs 处理。


qq_笑_17
浏览 380回答 1
1回答

繁星点点滴滴

cors是一个工厂函数,当调用它时返回 Express 中间件函数,该函数设置允许传入的跨源请求所需的 CORS 标头。app.use(cors());&nbsp;//&nbsp;instead&nbsp;of&nbsp;app.use(cors)链接到文档此外,axios您必须在端点 URL 前加上协议部分。.post("http://localhost:3001/users/signup")&nbsp;//&nbsp;you&nbsp;were&nbsp;missing&nbsp;"http://"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript