Топор ios запрос в ожидании, но работает на почтальона - PullRequest
0 голосов
/ 23 февраля 2020

Моя проблема:

Я создаю приложение Nuxt и тестирую конечные точки API.

Например, когда я использую Почтальон и отправляю этот запрос с POST:

localhost:3000/api/login

Все в порядке, и я получаю ожидаемый результат обратно, но когда я пробую его на моей стороне клиента с этим :

 axios
      .post("/api/login", {
        email: email,
        password: passwort
      })
      .then(res => {
        console.log(res);
      });

На вкладке сети в Google chrome я вижу, что запрос находится на рассмотрении, и я не знаю, почему.

Вот мой index.js файл:

  const express = require("express");
  const app = express();
  const mongoose = require("mongoose");
  const bodyParser = require("body-parser");

  mongoose.connect(
    "mongodb+srv://mydata/realtime?retryWrites=true&w=majority",
    {
      useNewUrlParser: true,
      useUnifiedTopology: true
    }
  );


  app.use(bodyParser.json());
  const routes = require("./routes/routes");
  app.use(routes);
  module.exports = {
    path: "/api",
    handler: app
  };

Это моя папка маршрутов:

const { Router } = require("express");
const router = Router();

import createUser from "../controllers/user";
import checkLogin from "../controllers/login";
/* GET users listing. */

router.post("/login", checkLogin);
router.post("/register", createUser);

module.exports = router;

и мой login.js файл:

const bcrypt = require("bcrypt");
import User from "../models/user";
export default async function checkLogin(req, res) {
  const user = await User.findOne({ email: req.body.email });
  if (!user) {
    return res.status(404).json({
      success: false,
      message: "Diese E-Mail konnte nicht verifiziert werden."
    });
  }
  const checkPw = bcrypt.compareSync(req.body.password, user.password);
  if (checkPw) {
    res.status(200).json({
      success: true,
      message: "Erfolgreich eingeloggt"
    });
  } else {
    return res.status(403).json({
      success: false,
      message: "Falsche Passwort"
    });
  }
}

РЕДАКТИРОВАТЬ:

Я обнаружил проблему, я забыл ключевое слово this в данных, которые я передаю:

 axios
  .post("/api/login", {
    email: this.email,
    password: this.passwort
  })
  .then(res => {
    console.log(res);
  });
...