- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我第一次使用 MERN 堆栈构建应用程序。
为了记录 HTTP 请求,我使用“morgan”。
我设法将数据发送到 mongodb,它似乎工作正常。问题是我的帖子请求没有通过。它显示“待处理”4 分钟,然后失败。
这是我认为我的代码的相关部分:
“服务器.js”:
const express = require("express");
const mongoose = require("mongoose");
const morgan = require("morgan");
const path = require("path");
const cors = require("cors");
const app = express();
const PORT = process.env.PORT || 8080;
const routes = require("./routes/api");
const MONGODB_URI =
"...";
mongoose.connect(MONGODB_URI || "mongodb://localhost/app", {
useNewUrlParser: true,
useUnifiedTopology: true
});
mongoose.connection.on("connected", () => {
console.log("Mongoose is connected.");
});
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cors());
app.use(morgan("tiny"));
app.use("/api", routes);
app.listen(PORT, console.log(`Server is starting at ${PORT}`));
然后我将路线放入另一个文件“api.js”中:
const express = require("express");
const router = express.Router();
const Lane = require("../models/lanes");
router.get("/", (req, res) => {
Lane.find({})
.then(data => {
res.json(data);
console.log("Get request successful!");
})
.catch(error => {
console.log("Error: ", error);
});
});
router.post("/save", (req, res) => {
const data = req.body;
const newLane = new Lane();
newLane.collection.insertMany(data, err => {
if (err) {
console.log(err);
} else {
console.log("Multiple docs inserted");
}
});
});
module.exports = router;
我正在使用 axios 发送请求。在我的应用程序中提交表单后会发生这种情况。
reducer 功能:
const reducer = (state, action) => {
switch (action.type) {
case "add":
axios({
url: "http://localhost:8080/api/save",
method: "POST",
data: [...state, { id: uuid(), title: action.title, tasks: [] }]
})
.then(() => {
console.log("Data has been sent to the server");
})
.catch(() => {
console.log("Internal server error");
});
return [...state, { id: uuid(), title: action.title, tasks: [] }];
我的上下文提供程序组件正在使用 reducer ,如下所示:
export function LanesProvider(props) {
const [lanes, dispatch] = useReducer(reducer, defaultLanes);
return (
<LanesContext.Provider value={lanes}>
<DispatchContext.Provider value={dispatch}>
{props.children}
</DispatchContext.Provider>
</LanesContext.Provider>
);
}
当在另一个组件中提交表单时,我的reducer中的“add”方法被调用。
如果我可以在我的问题中添加任何有帮助的内容,请告诉我。
提前谢谢您!
最佳答案
您没有向客户端发送任何响应。尝试修改 post 方法,例如
router.post("/save", (req, res) => {
const data = req.body;
const newLane = new Lane();
newLane.collection.insertMany(data, err => {
if (err) {
console.log(err);
res.send(err)
} else {
console.log("Multiple docs inserted");
res.send("Multiple docs inserted")
}
});
});
关于node.js - POST 请求未通过 (MERN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60207507/
我是 Node 和 react 新手,我正在尝试在我的 MERN 应用程序中进行子域路由。我发现我无法在 react 中路由我的子域,所以这让我只剩下 Node 。在node中,有很多方法,比如vho
我正在使用技术堆栈 MERN 创建一个应用程序和 Redux .我想知道如何使用 moongose 检索最后添加到数据库的记录.例如,假设它将是分配给特定用户的订单列表。 我已经在后端完成了一个检索所
我正在构建一个基于 MERN Stack 的费用控制应用程序,我想知道哪种方式是处理数据的最佳方式。 更具体地说,我的费用数据具有以下模型 { "_id" : ObjectId("5ece
我正在尝试根据查询从 Mongo db 获取一些记录。我完成了后端,它与 Postman 配合得很好,但我不知道如何将查询的变量从 React 前端发送到后端。 有一个 Client 模型类,我想检索
我正在尝试更新帖子。后端的 PUT 请求工作正常,在 Postman 上测试时返回 200 并更新帖子,但是当我尝试在前端更新帖子( react )时,我没有收到任何错误,但更新的帖子没有被更新提交和
当我重新加载 Heroku 页面时,出现内部服务器错误,状态代码为 500。 但在我本地的环境中并没有发生这种情况。 除此之外, 当我访问正确重定向并正常显示的路由地址时。 当我重新加载页面时,在 c
我在前端连接了 mongoDB 和 react/redux 的 node/express api。 我如何向用户显示错误(例如数据库连接错误)。 例如,如果后端发生错误,我想在组件中创建带有错误消息的
我正在尝试弄清楚如何有条件地渲染部分 react 。我的条件是,当列表项处于事件状态时,应呈现部分内容。 我正在使用 bootstrap,它有一个可用的事件元素。 我的目标是实现类似于对讲机条款页面的
我的应用程序概览:用户可以提交包含图片和文字的帖子。 我正在使用 MERN 堆栈。 目前,图像正在保存到我的 localhost:3001 中服务器在 /public/uploads/然后将路线保存到
我在 React 中得到了带有表单的简单 MERN 堆栈应用程序,它将字段传递给 redux 状态。 Redux 与后端的 node/express 连接,将数据保存在 MongoDB 中。 表单需要
我需要使用像这样的 mongodb 记录: { "_id": { "$oid": "5c09ae281646e8d8bad07d73" }, "name": "
我正计划将 MERN 堆栈应用程序部署到 heroku(在 youtube 上跟随 Traversy Media),我想知道在客户端隐藏 api key (谷歌地图)的最佳做法是什么? 我知道如何在
我是 Web 开发新手,我有一个托管服务,我想在其上部署我的 ReactJS/Node 项目。之前为了部署它,我只是上传了通过运行 npm run build 创建的构建文件夹。此后,我使用 MERN
我使用 create-react-app 制作了一个非常简单的 MERN 应用程序,没有 mongo 数据库。当我部署到 heroku 时,我看到的只是一个空白页面。我已经尝试了很多没有运气的事情。
我尝试在 MEAN.js 中包含一个中间件 (passport-http-bearer),但它使用与 Express 4 不同的路由语法。 Express API 语法是: app.get('/',
我正在部署 MERN 应用程序,并正在寻找有关构建 API 与 React 路由相对路径的最佳方法的指导。以下是我的两条路线的子集。我的相对路线复制了文件夹结构,我不确定如何解决这个问题。 用户路由
我第一次使用 MERN 堆栈构建应用程序。 为了记录 HTTP 请求,我使用“morgan”。 我设法将数据发送到 mongodb,它似乎工作正常。问题是我的帖子请求没有通过。它显示“待处理”4 分钟
我正在考虑将 MERN 框架用于一个新项目,但到目前为止,我所看到的并没有让我感到鼓舞。我已按照通过 mern-cli 设置项目的说明进行操作,该项目确实已创建并正确运行,但当我执行时... npm
我使用 Node、Express、React 和 MongoDB 创建了一个简单的计费 Web 应用程序 但是我想将它转换为本地机器的桌面应用程序。 我知道可以使用 Electron ,但我不知道该怎
我正在尝试将我的 MongoDB 连接到我的 MERN Web 应用程序,并且想知道有关此类信息的最佳资源。基本上,我有一个 MERN Web 应用程序、 Electron 桌面应用程序和 react
我是一名优秀的程序员,十分优秀!