Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Fetch POST to/send返回404错误(邮递员中无错误)_Javascript_Node.js_Express_Fetch Api - Fatal编程技术网

Javascript Fetch POST to/send返回404错误(邮递员中无错误)

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中使用相同的文本被接受。这很有效。我也试过看类似的帖子,但没有人有完全相同的问题(据我

当用户单击表单上的提交按钮时,我试图将一些数据上传到学校数据库。我已经设置了server.js,它与Postman一起工作。但是,当我试图在单击按钮时获取(发布)数据时,浏览器控制台中出现404错误

由于某些原因,如果服务器已经运行,我也无法打开html文件。我不知道这是否相关

我仔细检查了连接客户端获取和服务器端app.post()的每个字符串。我还检查了我的应用程序发送的JSON数据是否通过在Postman中使用相同的文本被接受。这很有效。我也试过看类似的帖子,但没有人有完全相同的问题(据我所知)

这是我的server.js:

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'));