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

home2 게시판 Node.js, Express 게시판 HTTP ERROR 405 에러 해결이 되지않습니다

HTTP ERROR 405 에러 해결이 되지않습니다

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

    chaey
    참가자
    submit 버튼 클릭시
    페이지가 작동하지 않습니다.
    문제가 계속되면 사이트 소유자에게 문의하세요.
    HTTP ERROR 405 에러가 뜹니다....
    이틀째 이부분 해결이 안됩니다. 도와주세요
    
    
    -server.js
    const express = require("express");
    const app = express();
    const bodyParser = require("body-parser");
    app.use(bodyParser.urlencoded({ extended: true }));
    const MongoClient = require("mongodb").MongoClient;
    var db;
    MongoClient.connect(
      "mongodb+srv://admin:@cluster0.zb68zx8.mongodb.net/?retryWrites=true&w=majority",
      function (에러, client) {
        if (에러) return console.log(에러);
        db = client.db("todoapp");
        db.collection("post").insertOne(
          { 이름: "chaey", _id: 100, 나이: 27 },
          function (에러, 결과) {
            console.log("저장완료");
          }
        );
        app.listen(8000, function () {
          console.log("listening on 8000");
        });
      }
    );
    app.get("/", function (요청, 응답) {
      응답.sendFile(__dirname + "/index.html");
    });
    app.get("/write", function (요청, 응답) {
      응답.sendFile(__dirname + "/write.html");
    });
    app.post("/newPost", function (요청, 응답) {
      응답.send("전송완료");
      console.log(요청.body.date);
      console.log(요청.body.title);
    });
    -index.html 
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <meta
          name="viewport"
          content="width=device-width, initial-scale=1, shrink-to-fit=no"
        />
        <link
          rel="stylesheet"
          href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css"
          integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N"
          crossorigin="anonymous"
        />
        <title>Hello, world!</title>
      </head>
      <body>
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
          <button
            class="navbar-toggler"
            type="button"
            data-toggle="collapse"
            data-target="#navbarTogglerDemo03"
            aria-controls="navbarTogglerDemo03"
            aria-expanded="false"
            aria-label="Toggle navigation"
          >
            <span class="navbar-toggler-icon"></span>
          </button>
          Todo App
          <div class="collapse navbar-collapse" id="navbarTogglerDemo03">
            <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
              <li class="nav-item active">
                <a class="nav-link" href="#"
                  >Home <span class="sr-only">(current)</span></a
                >

    <li class="nav-item"> Write

    <li class="nav-item"> 임시

    <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" /> <button class="btn btn-outline-success my-2 my-sm-0" type="submit"> Search </button> </form> </div> </nav> <div class="jumbotron"> <h1 class="display-4">Home</h1> <p class="lead">Todo 일정을 확인해보세요!</p> <hr class="my-4" /> <p>What's today's check? Don't forget what to do today!</p> Learn more </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous" ></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous" ></script> </body> </html>

    -write.html
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <link
          rel="stylesheet"
          href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
        />
        <title>Document</title>
      </head>
      <body>
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
          <button
            class="navbar-toggler"
            type="button"
            data-toggle="collapse"
            data-target="#navbarTogglerDemo03"
            aria-controls="navbarTogglerDemo03"
            aria-expanded="false"
            aria-label="Toggle navigation"
          >
            <span class="navbar-toggler-icon"></span>
          </button>
          Todo App
          <div class="collapse navbar-collapse" id="navbarTogglerDemo03">
            <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
              <li class="nav-item active">
                <a class="nav-link" href="#"
                  >Home <span class="sr-only">(current)</span></a
                >

    <li class="nav-item"> Write

    <li class="nav-item"> 임시

    <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" /> <button class="btn btn-outline-success my-2 my-sm-0" type="submit"> Search </button> </form> </div> </nav> <h4 class="container mt-4">글 작성페이지</h4> <div class="container mt-3"> <form action="/newPost" method="POST"> <div class="form-group"> <label>오늘의 할일</label> <input type="text" class="form-control" name="title" /> </div> <div class="form-group"> <label>날짜</label> <input type="text" class="form-control" name="date" /> </div> <button type="submit" class="btn btn-outline-secondary">Submit</button> </form> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous" ></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous" ></script>

        <script
          src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
          integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
          crossorigin="anonymous"
        ></script>
        <script
          src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
          integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
          crossorigin="anonymous"
        ></script>
        <script
          src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
          integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
          crossorigin="anonymous"
        ></script>
      </body>
    </html>
     
    #73224

    codingapple
    키 마스터
    코드는 별 문제 없습니다 localhost:8000/write 로 잘 접속해서 폼전송중인지 
    nodemon으로 서버는 띄워놨는지 확인해봅시다
    #73333

    chaey
    참가자
    다했습니다.. live server로 연결시 페이지가 뜨는데, localhost 접속이 되지않습니다.
     
    #73370

    codingapple
    키 마스터
    live server 말고 터미널에서 nodemon으로 띄우셨나요
    #73380

    chaey
    참가자
    알려주신대로해서 해결했습니다 감사합니다ㅠㅠㅠㅠㅠㅠ! 근데 왜 nodmon으로 띄워야하고 ,
    live server에서는 작동하지 않는 것인지 궁금합니다.
    또, 이번에는 console.log(요청.body.title); 에서
     title입력시 값이 할당이 안되고 터미널에undefined가 뜹니다.
    
    
    extended를  false로도 바꿔보고 app.use(express.json());도 추가했는데도 값이 반환되지않습니다.
    
    server.js
    const express = require("express");
    const app = express();
    const bodyParser = require("body-parser");
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(express.json());app.listen(8000, function () {
      console.log("listening on 8000");
    });
     
    app.get("/", function (요청, 응답) {
      응답.sendFile(__dirname + "/index.html");
    });
    app.get("/write", function (요청, 응답) {
      응답.sendFile(__dirname + "/write.html");
    });
    // app.post("경로", 콜백함수);
    app.post("/sendWrite", function (요청, 응답) {
      응답.send("전송완료");
      console.log(요청.body.title);
      console.log(요청.body.date);
    });
    #73384

    chaey
    참가자
    새로고침의 문제였습니다 해결했습니다!
    #73419

    codingapple
    키 마스터
    live server는 html파일 미리보기입니다
    #73447

    chaey
    참가자
    아하 이해했습니다 감사합니다^^
8 글 보임 - 1 에서 8 까지 (총 8 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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