express пустое значение по запросу - PullRequest
0 голосов
/ 06 апреля 2020

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

код на стороне сервера:

const express=require('express');
const app=express();
app.listen(3000, () => console.log('listining at 3000'))
app.use(express.static('public'))
app.use(express.json({ limit: '1mb' }))
///routting 


app.post('/api', (req, res) => {  
    console.log("ok");
    console.log(req.body);
 })

на стороне клиента:

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
</head>
<body>
  <h1>   heloo express <h1>
  <div id="22f"></div>
  <div id="12f"></div>
  <script>
    //get my location
    if ('geolocation' in navigator) {
       console.log("yeeeey")
       navigator.geolocation.getCurrentPosition((position) => {
          const lat={"lat": position.coords.latitude}
          const lon={"lon":position.coords.longitude}
          const doc=document.getElementById("22f")
          doc.textContent=position.coords.latitude
          const loc=document.getElementById("12f")
          loc.textContent=position.coords.longitude

          const data = { lat, lon };
          console.log(data)
          console.log(JSON.stringify(data))
          const option= {
             method: 'POST',
             body:JSON.stringify(data),
             header: {
                "Content-Type": "aplication/json"
             }
          }
          fetch('/api',option);
       })
     } else {
       console.log("booooo")
     }
   </script>
</body>
</html>

и вот что показывает мне сервер:

enter image description here

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Вы можете использовать встроенный bodyParser из express.

Добавьте эту строку над вашими конечными точками

app.use(express.bodyParser());

Как упомянул @SuleymanSah, правильное встроенное промежуточное ПО -

app.use(express.json());
0 голосов
/ 06 апреля 2020

Вы можете использовать пакет npm body-parser для чтения req.body

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...