我正在嘗試通過 Axios 將資料從使用 React 創建的頁面傳遞到由 Express 服務器管理的 Mongo 資料庫。保存到資料庫適用于用戶,但對于帖子,我收到以下錯誤訊息:
POST http://本地主機:3001/createPost 404(未找到)
未捕獲(承諾)錯誤:在 XMLHttpRequest.onloadend (xhr.js:66) 處的 createError (createError.js:16) at 結算 (settle.js:17) 處請求失敗,狀態碼為 404
誰能幫我嗎?我將在下面附上代碼。
應用程式.jsx
function App(){
return (
<Router>
<Route path="/" exact>
<Home />
</Route>
<Route path="/new">
<NewPostFromHome />
</Route>
</Router>
);
}
index.js(服務器)
const app = express();
app.use(cors());
app.use(express.json());
//Database connection
mongoose.connect("mongodb://localhost:27017/codingWaifus", {useNewUrlParser: true}, function(err, db){
if(err){
console.log(err);
}
else{
console.log("Connected to " mongoose.connection.name " on Port: " mongoose.connection.port);
}
});
mongoose.connection.on('error', console.error.bind(console, 'MongoDB connection error:'));
app.use("/", require("./routes/userRoute"));
app.use("/new", require("./routes/postRoute"));
app.listen(3001, () => {
console.log("running on port 3001");
});
postModel.js
const mongoose = require("mongoose");
const postsSchema = {
title: String,
body: String
}
const Post = mongoose.model("Post", postsSchema);
module.exports = Post;
postRoute.js
const express = require("express");
const router = express.Router();
const Post = require("../models/postModel");
router.route("/createPost").post((req, res) => {
const title=req.body.title;
const body=req.body.body;
const newPost = new Post({
title,
body
});
newPost.save();
})
module.exports = router;
uj5u.com熱心網友回復:
似乎您遇到的問題是 postRoute 在
app.use("/new", require("./routes/postRoute"));
在這里你可以看到你使用了“/new”路由,所以最終的 URL 是
http://localhost:3001/new/createPost
如果您使用此網址,它應該可以正常作業
或者您也可以洗掉“新”字以僅保留此內容:
app.use("/", require("./routes/postRoute"));
有關更多詳細資訊,請查看 express 中的中間件檔案:https : //expressjs.com/en/guide/using-middleware.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/345421.html
標籤:javascript 反应 MongoDB 表达 公理
上一篇:每當點擊觸發時如何隨機播放串列
