通过fetch在服务器上发送数据

问题描述 投票:2回答:2

有人可以向我解释为什么在发送请求后,服务器返回POST {} {}-我的意思是空对象?

我不知道这些数据在哪里。为什么它会消失?

我不知道如何解决它......

index.js:

window.addEventListener("DOMContentLoaded", () => {
  const form = document.querySelector("form");

  form.addEventListener("submit", event => {
    console.log("włącza sie");

    event.preventDefault();

    const name = document.getElementById("name").value;
    const password = document.getElementById("password").value;

    fetch("http:localhost:3000/register", {
      method: "POST",
      body: JSON.stringify({ name, password })
    })
      .then(res => {
        console.log(res);
      })
      .catch(error => console.log(error));
  });
});

//server.js:

const http = require("http");
const app = require("./app");

const port = 3000;

const server = http.createServer(app);

server.listen(port, () => {
  console.log("server włączony");
});

//app.js

const loginRoute = require("./api/routes/loginRoute");
const registerRoute = require("./api/routes/registerRoute");
const verify = require("./autorization/verify");

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use("/", (req, res, next) => {
  console.log(req.method, req.query, req.body);
  next();
});

app.use("/", loginRoute);

app.use("/", registerRoute);

app.use(verify);
javascript express
2个回答
0
投票

根据你的截图,有一个CORS问题。你可以使用https://github.com/expressjs/cors中间件克服这个问题

var cors = require('cors');
app.use(cors());

或仅为特定路由启用CORS

app.use('/', cors(), registerRoute);

0
投票

registerRoute:

const express = require('express');
const router = express.Router();
const register = require('../../mongo/register');

router.post('/register',register);


module.exports = router;

register.js:

const mongo = require('./database');
const User = require('../api/patterns/user');


const register = (req,res)=>{

 const toSave = new User(req.body); 


 User.findOne({name: req.body.name},(err,name)=>{

  if(err) throw err;

  if(!name){


        toSave.save( (err)=> {

             if (err) throw err;
              console.log('user zapisany');

             });

   }else{
    console.log('juz taki istnieje');

  }

  });
};

app.js:

const loginRoute = require('./api/routes/loginRoute');
const registerRoute = require('./api/routes/registerRoute');
const verify = require('./autorization/verify');


var cors = require('cors');
app.use(cors());
app.use(bodyParser.json());


app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use('/', (req,res,next)=>{console.log(req.method, req.query, req.body); 
next();});

app.use('/', loginRoute);

app.use('/', registerRoute);

app.use(verify);






module.exports = app;

它仍然返回空对象:(

© www.soinside.com 2019 - 2024. All rights reserved.