Javascript Fetch POST to/send返回404错误(邮递员中无错误)
当用户单击表单上的提交按钮时,我试图将一些数据上传到学校数据库。我已经设置了server.js,它与Postman一起工作。但是,当我试图在单击按钮时获取(发布)数据时,浏览器控制台中出现404错误 由于某些原因,如果服务器已经运行,我也无法打开html文件。我不知道这是否相关 我仔细检查了连接客户端获取和服务器端app.post()的每个字符串。我还检查了我的应用程序发送的JSON数据是否通过在Postman中使用相同的文本被接受。这很有效。我也试过看类似的帖子,但没有人有完全相同的问题(据我所知) 这是我的server.js:Javascript Fetch POST to/send返回404错误(邮递员中无错误),javascript,node.js,express,fetch-api,Javascript,Node.js,Express,Fetch Api,当用户单击表单上的提交按钮时,我试图将一些数据上传到学校数据库。我已经设置了server.js,它与Postman一起工作。但是,当我试图在单击按钮时获取(发布)数据时,浏览器控制台中出现404错误 由于某些原因,如果服务器已经运行,我也无法打开html文件。我不知道这是否相关 我仔细检查了连接客户端获取和服务器端app.post()的每个字符串。我还检查了我的应用程序发送的JSON数据是否通过在Postman中使用相同的文本被接受。这很有效。我也试过看类似的帖子,但没有人有完全相同的问题(据我
let express = require("express");
let mysql = require("mysql");
let bodyParser = require("body-parser");
let app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
let pool = mysql.createPool({
connectionLimit: 2,
host: "---",
user: "---",
password: "---",
database: "---",
debug: false
}
);
app.post("/send", (req, res) => {
console.log("Received Post from client");
pool.getConnection((err, connection) => {
if (err) {
console.log("Connection error");
res.json({ error: "connection error" });
} else {
console.log("Connection established");
console.log(req.body);
let val = [req.body.some_value];
console.log(val);
connection.query(
"insert into some_table (some_value) values (?)",
val,
err => {
if (err) {
console.log(err);
res.status(500);
res.json({error: "Insertion error"});
} else {
console.log("Insertion OK!");
res.send("");
}
}
);
}
});
});
let server = app.listen(8080);
console.log("Server running");
我的客户端(sendButton.js):
HTML按钮只是一个id为“submit”的标准按钮
我的预期结果:插入正常,值发送到数据库没有错误
实际结果:404未找到页面错误:
删除
let server
变量并保留应用程序。listen(8080)
,这样最终结果将是
app.listen(8080, () => console.log('Server is running'));
@正如您在错误中看到的,本地主机已经包括在内。我也需要在server.js中使用它吗?我的错
fetch()
采用相对路径。不,不需要在服务器端包含。您已将app.listen()
方法分配给let server
变量,但您没有在任何地方使用该变量,这意味着服务器尚未启动。另外,请确保运行命令node server.js
,并且没有任何错误。@XBullet123是否可以尝试将模式:“cors”
添加到您的提取方法中。有时这会给我带来麻烦。@AbhanshGiri-为什么?错误消息中没有提到CORS。这是一个404邮件请求。是的,你说得对。我误解了这个问题,我的错。我以为服务器没有启动,但问题是别的。
app.listen(8080, () => console.log('Server is running'));