因此,我试图通过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);
});
答案 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);
})();