我正在尝试将JavaScript数据发送到我的NodeJS服务器

时间:2019-07-11 16:23:37

标签: javascript node.js express

因此,我试图通过POST请求将地理位置数据发送到NodeJS,但是当我在NodeJS代码中控制台记录数据时,它只是显示一个空对象。

我已经与邮递员进行了测试,可以毫无问题地接收数据。我认为问题出在我应用的客户端

//**This is in the client Side(pure JS);

async function getWeather(position){

  let coords ={
    lat: position.coords.latitude,
    long: position.coords.longitude
  }

  const options = {
    method: "POST",
    body: JSON.stringify(coords),
    headers: {
      "Content-Type": "aplication/json"
    }
  };

  let response = await fetch("http://localhost:3000/weather", options);
  let location = await response.json();
}

//**This is in the server side

  app.post('/weather',(req,res)=>{

    let coords = req.body;
    console.log(coords); //This shows an empty object

    res.sendStatus(200);
  });

1 个答案:

答案 0 :(得分:0)

您可以在客户端尝试此代码。您可以将URL替换为端点,然后尝试获取结果。如下所示,执行脚本后,我在data中得到了响应。

我希望这会有所帮助。

(async () => {
  const rawResponse = await fetch('https://httpbin.org/post', {
    method: 'POST',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({lat: 10, long: 20})
  });
  const content = await rawResponse.json();

  console.log(content);
})();