- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用特定 ID 更新数据,该 ID 不起作用,但出现上述错误。
更新时,首先在数据库中搜索该特定 ID,然后将数据保存到 MongoDB
这是我的server.js
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
//importing MongoDB model schema
let ToDo = require('./todo.model');
const app = express();
const todoRoutes = express.Router();
const PORT = 4000;
//middlewares
app.use(bodyParser.json());
app.use(cors());
app.use('/todos', todoRoutes);
//connection to the MongoDB database
mongoose.connect('mongodb://127.0.0.1:27017/todos', {useNewUrlParser: true});
const connection = mongoose.connection;
connection.once('open', () =>{
console.log("Connected to the MongoDB through port: 27017");
});
app.listen(PORT, () => {
console.log(`Listening to port: ${PORT}`);
});
//get all data - removed to show only the code snippet I am getting errors
//get data by an ID - removed to show only the code snippet I am getting errors
//add items to database -removed to show only the code snippet I am getting errors
//update items
todoRoutes.route('/update/:id').post((req, res) => {
let id = req.params.id;
ToDo.findById(id, (err, todo) => {
if(err) throw err;
if(!todo) res.status(400).send("No data found");
todo.todo_description = req.body.todo_description;
todo.todo_responsible = req.body.todo_responsible;
todo.todo_priority = req.body.todo_priority;
todo.todo_completed = req.body.todo_completed;
res.end();
todo.save().then(todo => {
res.json(200).send("Data Updated! " + todo);
res.end();
}).catch(err => {
res.status(400).send("Error occured! " + err);
});
});
});
这是我遇到的错误...
有人可以帮我吗?
最佳答案
此错误通常意味着您多次发送响应。
请注意,您依次发送了两个响应 res.json()
和 res.end()
如果您出于某种原因想要结束响应,请使用 res.end()
,否则使用 res.status(200).json({ result: 'Data Updated' + 待办事项 })
如果您同时发送两者,它会在发送(通过 res.status().json()<)后尝试修改响应(通过
)res.end()
)/
关于javascript - 错误 [ERR_HTTP_HEADERS_SENT] : Cannot set headers after they are sent to the client in Node JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56384359/
I'm doing mongodb database after tutorial from NetNinja. Since I'm kinda bad with js, I'm just fo
错误 [ERR_HTTP_HEADERS_SENT]:将 header 发送到客户端后无法设置 header 我看过有关同一问题的其他帖子,但我无法弄清楚如何解决我的问题。我有处理发布请求的代码,如下
我遇到了 Node/express 错误。我假设问题出在我的异步代码设计上。 输出:容器成功 预期输出:容器成功..上传成功... 错误:( Node :18364)UnhandledPromiseR
我正在通过构建一个简单的代码片段应用程序来学习 Node.js。它将有两个字段 title 和 snippet。在提交新代码片段时,我不断收到如下错误。 Error [ERR_HTTP_HEADERS
我正在使用 PostgreSQL 和 NodeJS 及其“PG 模块”。CRUD 有效,但有时在我保存或删除某些项目时不会自动更新 View 。这是我的代码,我认为错误就在这里,但我找不到它,我什么都
我是 Node js 的新手。我正在尝试将数据插入数据库,在此之前我做了一些验证以检查数据库中已存在的用户名。请参阅我使用的编码。 var express = require("express");
我正在尝试使用 Next.js 创建一个私有(private)页面。 我写了pages/private.tsx . import React from 'react'; import { Label
我正在尝试执行 get 请求,但在 app.js res.json 行上始终失败。 app.js app.use(function(err, req, res, next) { res.local
在与 Passport.js、Express 和 Mongoose 一起使用时,我在 NodeJS 中遇到了这个奇怪的问题。基本上,即使我发送的 header 不超过一个,我也会收到一条错误消息“在将
我目前正在使用 next.js API 创建用户,但是,我现在想使用 sendgrid 发送电子邮件。 我有这个设置,但是,我得到以下信息 event - compiled successfully
我有一个帖子路由,人们可以在其中向帖子添加评论。我添加了以帖子的唯一 ID 为目标的功能来删除它。该帖子被删除,但有些东西再次被调用,我相信当它检查时,该帖子不再存在并返回错误。我的代码中的哪里可以调
每当我想在我的 View (ejs)中填写表单并发送到数据库时,我总是在终端中收到此错误。 MongoDB Connected Error [ERR_HTTP_HEADERS_SENT
我正在尝试使用 NodeJS 和 Express 创建一个简单的 REST API,无需任何数据库。我已将所有数据存储在 JSON 文件中。数据采用对象数组的形式。 我有类似基金名称/:portId
你好,我是 nodeJS 的新手,我遇到了一个问题,我认为催化剂在下面代码中嵌套在“db.query ...”中的第二个 if 语句中。我收到一条错误消息,内容为 ERR_HTTP_HEADERS_S
我正在尝试使用特定 ID 更新数据,该 ID 不起作用,但出现上述错误。 更新时,首先在数据库中搜索该特定 ID,然后将数据保存到 MongoDB 这是我的server.js const expres
当我尝试在同一篇文章中发送和接收数据时,我会收到此错误。我无法找出问题所在。 但这并不是代码根本不起作用,而是数据显示得非常好。只是我在 bash 控制台中收到此错误。 router.post('/a
因此,我尝试插入然后更新数据,数据库已根据预期查询成功更新,并且能够接收对客户端的响应,但在服务器上收到上述错误,不知道如何调试它,我'我尝试查看之前的相关问题,但没有成功。 var urlencod
我正在尝试验证 session 中是否有某些数据。如果没有, Controller 会将您重定向到另一条路线以获取该数据。问题是我收到错误“错误 [ERR_HTTP_HEADERS_SENT]:发送到
我知道这是一个非常基本的问题,但我发现自己花了太多时间来理解为什么会发生这种情况。 下面是我使用 npm request lib 来查询 api 并使用快速响应发送响应的 api。当我点击这个时,我得
我有一个 API 端点,用户可以在其中指定他想要删除的集合的 ID。路由器读取 json 文件,迭代集合并删除找到的记录: router.delete('/todos/:id', (req,res)=
我是一名优秀的程序员,十分优秀!