【发布时间】:2021-12-26 04:27:24
【问题描述】:
我正在尝试通过邮递员使用 axios 获取在 db 上创建的数据,但我一直没有收到访问控制 cors 错误。我已将“Moesif Origin & CORS Changer”插件添加到我的 chrome 中,但仍然没有解决方案。我在服务器上需要 cors 我得到了同样的问题。我不知道我做错了什么。我已经阅读并尝试了这里给出的几种解决方案。
我的客户端代码(React.JS)
import styled from "styled-components";
import { popularProducts } from "../data";
import Product from "./Product";
import axios from "axios";
import { useState, useEffect } from "react";
const Container = styled.div`
padding: 20px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
`;
const Products = ({ cat, filter, sort }) => {
const [products, setProducts] = useState([]);
const [filteredProducts, setFilteredProducts] = useState([]);
useEffect(() => {
const getProducts = async () => {
try {
const res = axios.get("http://localhost:5000/api/products");
console.log(res);
} catch (err) {}
};
getProducts();
}, [cat]);
我的后端 API(Express)
const express = require("express");
const app = express();
const mongoose = require("mongoose");
const dotenv = require("dotenv");
const userRoute = require("./routes/user");
const authRoute = require("./routes/auth");
const productRoute = require("./routes/product");
const cartRoute = require("./routes/cart");
const orderRoute = require("./routes/order");
const cors = require("cors");
dotenv.config();
mongoose
.connect(process.env.MONGO_URL)
.then(() => console.log("DB connection successful"))
.catch((error) => {
console.log(error);
});
//middleware
app.use(express.json());
app.use("/api/auth", authRoute);
app.use("/api/users", userRoute);
app.use("/api/products", productRoute);
app.use("/api/carts", cartRoute);
app.use("/api/orders", orderRoute);
app.use(cors());
app.listen(process.env.PORT || 5000, () => {
console.log("Backend server is running");
});
【问题讨论】:
标签: node.js reactjs express cors