• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 파트2 번호를 달아보는 곳에서 에러가 납니다.

파트2 번호를 달아보는 곳에서 에러가 납니다.

  • 이 주제에는 5개 답변, 2명 참여가 있으며 codingapple4 년 전에 전에 마지막으로 업데이트했습니다.
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #11266

    코딩노예
    참가자

    app.post("/add", function (request, response) {
      response.send("전송완료");
      db.collection("counter").findOne(
        {
          name: "게시물갯수",
        },
        function (error, result) {
          console.log(result.totalPost);
          let totalCount = result.totalPost;
          db.collection("post").insertOne(
            {
              _id: totalCount + 1,
              제목: request.body.title,
              날짜: request.body.date,
            },
            function () {
              console.log("저장완료");
              response.send("전송완료");
            }
          );
        }
      );
    });

    여기서 하루 종일 잡고 있네요 에러 좀 봐주세요.

    위 코드만 들어가면 에러가 납니다. 바로 직전 강의 까지는 잘됩니다. 

    리스트 업데이트 까지는 말이죠..   

    #11269

    codingapple
    키 마스터

    result.totalPost 말고 result 출력하면 무엇이 나옵니까 

    아무것도 안나오면  

    counter 컬렉션에 { name: "게시물갯수"} document가 없는게 아닐까요 

    #11295

    코딩노예
    참가자

    result.totalPost 말고 result 출력하면  똑같은 에러가 나옵니다.

    혹시나해서 카운터 컬렉션에 오브젝트를 추가해 보았는데.. 잘됩니다.. 

    공부 잘하고 있었는데.. 막히니깐.. 갑갑하네요. ㅠㅠ 

     

    #11299

    codingapple
    키 마스터

    똑같은 에러명이 나오면 안되지않을까요 그럼 app.post('/add' 이런 코드가 위에 하나 더 있는게 아닐까요 

    error 파라미터를 출력하면 무엇이 나옵니까 

    아니면 그냥 server.js 전체 코드를 올려봅시다 

     

    #11300

    코딩노예
    참가자

    const express = require("express");
    const app = express();
    app.use(express.urlencoded({ extended: true }));
    const MongoClient = require("mongodb").MongoClient;
    app.set("view engine", "ejs");

    let db;
    MongoClient.connect(
      "mongodb+srv://phw:@cluster0.hzk7p.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",
      function (error, client) {
        db = client.db("todoapp");

        app.listen(8080, function () {
          console.log("listening on 8080");
        });
      }
    );

    app.post("/add", function (request, response) {
      response.send("전송완료");
      db.collection("counter").findOne(
        {
          name: "게시물갯수",
        },
        function (error, result) {
          console.log(result);
          let totalCount = result.totalPost;
          db.collection("post").insertOne(
            {
              _id: totalCount + 1,
              제목: request.body.title,
              날짜: request.body.date,
            },
            function () {
              console.log("저장완료");
              response.send("전송완료");
            }
          );
        }
      );
    });

    app.get("/list", function (request, response) {
      db.collection("post")
        .find()
        .toArray(function (error, result) {
          console.log(result);
          response.render("list.ejs", { posts: result });
        });
    });

    // app.get("/pet", function (req, response) {
    //   response.send("펫용품 쇼핑 사이트 입니다.");
    // });

    // app.get("/beauty", function (req, response) {
    //   response.send("뷰티용품 쇼핑 페이지 입니다.");
    // });

    app.get("/", function (req, response) {
      response.sendFile(__dirname + "/index.html");
    });

    app.get("/write", function (req, response) {
      response.sendFile(__dirname + "/write.html");
    });

     

    serve.js 전체 코드 올려 봅니다. 

     

    #11314

    codingapple
    키 마스터

    Cannot set headers after they are sent to the client 이런 에러메세지였군요

    response.send()를 한번만 쓰도록 합시다 되도록이면 뒤쪽에 모든 작업이 끝났을 때 씁시다 

     

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠