javascript - 为什么 fetch 返回空 opj 到 server.js 文件
问题描述
单击生成时,我正在尝试将数据从 app.js 发送到 server.js .. 数据成功来自 api,控制台记录并保存到对象成功,控制台也成功记录,但是当我尝试发送它时到服务器端它收到一个空对象。
我的 app.js 代码
// Personal API Key for OpenWeatherMap API
let baseurl = "http://api.openweathermap.org/data/2.5/weather?zip=";
let apikey = "MY API KEY";
let user_zip;
/* Function to GET Web API Data*/
let dataToSend = {};
getweather = async () => {
user_zip = document.querySelector("#zip").value;
user_input = document.querySelector("#feelings").value;
if (user_zip == "") {
alert("Sorry My App Cant Send Empty Request to the API ");
} else {
let res = await fetch(baseurl + user_zip + apikey);
try {
var data = await res.json();
var temp = Math.floor(data.main.temp - 273.15);
var date = new Date();
dataToSend.date = date;
dataToSend.temp = temp;
dataToSend.feels = user_input;
console.log(data);
console.log(dataToSend);
} catch (error) {
console.log("error", error);
}
}
};
/* Function to POST data */
let postdata = async (url = "", data = {}) => {
let request = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(dataToSend),
});
};
// Event listener to add function to existing HTML DOM element
let clicking = document.getElementById("generate");
clicking.addEventListener("click", (event) => {
getweather();
postdata("/all", dataToSend);
});
和我的 server.js 代码
/* Empty JS object to act as endpoint for all routes */
projectData = [];
/* Express to run server and routes */
const express = require("express");
/* Start up an instance of app */
const app = express();
/* Dependencies */
const bodyParser = require("body-parser");
/* Middleware*/
app.use(
bodyParser.urlencoded({
extended: false,
})
);
app.use(bodyParser.json());
const cors = require("cors");
const { request } = require("http");
app.use(cors());
/* Initialize the main project folder*/
app.use(express.static("website"));
app.use(
express.json({
limit: "1mb",
})
);
const port = 3000;
/* Spin up the server*/
const server = app.listen(port, listening);
function listening() {
// console.log(server);
console.log(`running on localhost: ${port}`);
}
// Callback function to complete GET '/all'
app.post("/all", (req, response) => {
projectData.push(req.body);
console.log(projectData);
});
// Post Route
一些返回 服务器返回空对象
解决方案
推荐阅读
- django - 使用 git push 将 django 应用程序部署到 heroku 时出现无法识别的错误
- javascript - getUserMedia() 在普通 chrome 中不起作用,但在启动 pwa-chrome 时起作用
- mongodb - 了解 MongoDB 超时设置
- c++ - 在 c++ 项目的 Visual Studio 安装项目结束时启动 exe
- azure-api-management - Azure APIM - 按产品划分的管理员组?
- c# - 从 Json 字典中序列化 C# 中的字典
- powershell - 如何在路径 Powershell 中的最后一个斜杠之后删除所有内容
- regex - 带有 grep 的正则表达式不会给出 0 的输出
- matlab - 使用 pcolor 绘图未在特定点上显示颜色 - Matlab
- ios - iOS - SWIFT - NMSSH 无法将数据从 SFTS 服务器获取到数据变量中