【问题标题】:Server responds with status 405服务器响应状态 405
【发布时间】:2021-12-28 06:47:22
【问题描述】:

我的“服务器”遇到了一个小问题。因此,当我尝试学习后端到前端的通信时,我正在四处乱窜并试图创建一个“api”。无论如何,每当我尝试发送 POST 请求时,服务器都会以 net::ERR_ABORTED 405 错误进行响应,并且不会在服务器上打印任何内容。我使用 VSC Live Server 扩展并在我的 PC 上运行服务器(在测试时),不确定这是否会产生任何影响。

前端:

<!DOCTYPE html>
<html>

<head>
    <title>Testing</title>
    <link href="https://fonts.googleapis.com/css2?family=Gemunu+Libre:wght@300&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900" rel="stylesheet">
    <meta charset="UTF-8">
    <link rel="stylesheet" href="style.css">
    <link rel="icon" href="/img/Senko.jpg">
</head>

<body>
    <script>
        console.log("Running...")
        const data = {
            age: "15",
            name: "John Doe",
            date: "21/12/2021"
        }
        const options = {
            method: "POST",
            headers: {
                "Content-Type": "application/json"
            },
            body: JSON.stringify(data),
        }
        fetch("/api", options)
    </script>
</body>

</html>

后台

const express = require('express');

const app = express();
app.listen(5500, () => console.log('listening at 5500'));//Doesnt work no matter what I listen to.
app.use(express.static('public'));
app.use(express.json({ limit: '1mb' }));

const allData = [];

app.post('/api', (request, response) => {
    const data = request.body;
    allData.push(data);
    response.json(allData);
    console.log(allData);
});

错误信息:

POST http://127.0.0.1:5500 net::ERR_ABORTED (Method not allowed)

感谢您的帮助。

【问题讨论】:

    标签: javascript html node.js express


    【解决方案1】:

    您写道您正在使用 VSC 实时服务器。但这没有意义,因为您有自己的后端。实时服务器扩展只会为您的静态文件提供服务,因此当您的前端尝试 POST 到您的 API 时,它将转到 VSC 实时服务器,而不是您的 API,它会告诉您它不支持 POST 请求(另外,还有没有public/api 文件夹)!但是,您甚至不需要该扩展,因为您的后端配置为提供来自public 的静态文件。

    禁用实时服务器扩展,而是在 shell 中使用 npm start 启动您自己的后端。 (或者,如果您尚未在 package.json 中配置 start 脚本 - 您应该这样做 - 尝试 node server.js)。

    【讨论】:

      猜你喜欢
      • 2021-08-26
      • 2015-04-28
      • 2018-12-16
      • 2012-12-12
      • 2021-01-06
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      相关资源
      最近更新 更多