首页 > 解决方案 > 如何在反应前端设置 cors 策略?

问题描述

我收到此错误

我的注册组件如下所示:

import fetch from "isomorphic-fetch";
import { API } from "../config";
import cookie from "js-cookie";

export const signup = (user) => {
  return fetch(`${API}/signup`, {
    method: "POST",
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json",
    },
    body: JSON.stringify(user),
  })
    .then((response) => {
      return response.json();
    })
    .catch((err) => console.log(err));
};

我的注册控制器如下所示:

const User = require("../models/users.model");
const shortId = require("shortid");
const jwt = require("jsonwebtoken");
const expressJwt = require("express-jwt");


exports.signupController = (req, res) => {
  // check if user is already registered
  User.findOne({ email: req.body.email }).exec((err, user) => {
    if (user) {
      return res.status(403).json({ error: "User already exists" });
    }
    const { name, email, password, confirmPassword } = req.body;
    let username = shortId.generate();
    let profile = `${process.env.CLIENT_URL}/profile/${username}`;
    let newUser = new User({ name, email, password, profile, username });
    newUser.save((err, success) => {
      if (err) {
        return res
          .status(500)
          .json({ error: "We could not signup you, sorry!" });
      }
      res
        .status(200)
        .json({ message: "Signup Successful. You can now sign in." });
    });
  });
};

在后端 server.js 中,我已经将 cors 用作:

const cors = require("cors");
app.use(cors());

两天前一切正常..但现在出现错误。我的后端或前端是否有任何问题。请帮忙。

标签: node.jsreactjscors

解决方案


您可以从 URL http://localhost:3000 而不是http://127.0.0.1:3000访问您的前端,这将解决问题。

注意:只有在为某个域启用 CORS 时,才能从后端修复它


推荐阅读