NodeJs POST метод не разрешен - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь запустить простое приложение, которое просто отправляет текущее местоположение на сервер. Вот мои настройки:

//Client

if ("geolocation" in navigator) {
  console.log("Geolocation available");
  navigator.geolocation.getCurrentPosition(function(position) {
    const lat = position.coords.latitude;
    const lon = position.coords.longitude;
    document.getElementById("latitude-span").textContent = lat;
    document.getElementById("longitude-span").textContent = lon;

    const data = {
      lat,
      lon
    };

    console.log(data);
    const options = {
      method: "POST",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify(data)
    };

    fetch("/api", options);
  });
} else {
  console.log("Geolocation not vailable available");
}


//Server

const express = require( "express" );

const cors = require( "cors" );

const app = express();

app.use( cors() );

app.use( express.static( "public" ) );
app.use( express.json( {
  limit: "1mb"
} ) );

app.post( "/api", cors(), ( request, response ) => {
  console.log( request );
  response.send()
} );

app.listen( 5500, function () {
  console.log( "listening at 5500" );
} );

Как видите, я использую express в проекте NodeJs, я только начинаю это приключение js back-end и не могу понять это вне. Я всегда получаю эту ошибку: POST http://127.0.0.1:5500/api net::ERR_ABORTED 405 (Method Not Allowed) (anonymous) @ scripts.js:23

Может ли кто-нибудь мне помочь? Я искал похожий вопрос и, похоже, не могу их найти.

1 Ответ

0 голосов
/ 20 февраля 2020

Как прокомментировал @Archer.

Вероятно, это проблема Cors, см. Здесь: Cors - Express и здесь: MDN-405

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...