不允许使用 Node.js 方法

编程入门 行业动态 更新时间:2024-10-04 11:18:26

<a href=https://www.elefans.com/category/jswz/34/1771104.html style=不允许使用 Node.js 方法"/>

不允许使用 Node.js 方法

我是 Node.js 的新手,我无法诊断这个问题是如何出现的。我正在尝试更新数据库中的数据。它在客户端级别被 HTTP 405 阻止。我在网上查看了有关此的各种主题,但没有任何帮助。 SQL 代码工作正常,但是当我尝试将数据提交到服务器时,它被阻止了。我有点迷路了,因为它没有将详细信息记录到服务器的控制台中。另外,我在 res.redirect 上收到一个错误,提示在将标头发送给客户端后无法设置标头。我不确定这是否会影响此代码,但我认为不会,因为我已经对其进行了评论并且代码仍然有效。

ups.js

const express = require('express');
const router = express.Router();
const { StatusCodes, ReasonPhrases } = require("http-status-codes");

module.exports = () => {
    router.post("./routes/ups", async (req, res) => {
      if(
        req.body == null ||
        req.body.id == null ||
        req.body.av == null
      ) {
        return res.status(StatusCodes.BAD_REQUEST).json({
          status: StatusCodes.BAD_REQUEST,
          title: ReasonPhrases.BAD_REQUEST,
          data: {
            error: "Invalid data provided",
          }
        });
      }

      var id = req.body.id;
      var av = req.body.av;

      //Perform Query Ops
      var sql = "UPDATE `pc_status` SET available = " + av + " WHERE `id` = " + id + "";
      db.query(sql, function(err, result) {
      if (err) throw err;
        console.log('record inserted');
        console.log(req.body.id);
        console.log(req.body.av);
        //res.redirect(201 ,'/');
      });

    });
    return router;
};

index.js

app.use(require('./routes/ups.js')());

客户端 script.js

function testUpload(payload) {
    return fetch("http://localhost:3000/ups", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      mode: "cors",
      body: JSON.stringify(payload),
    });
  }
    //Sample payload
    var payload = {
        id: 24,
        available: 3,
    };
    
    testUpload(payload)
        .then((response) => {
                return response.json();
            })
            .then((data) => {
               if(data.status == 201) {
                    console.log("Good!");
                } else {
                   console.log("Error occured");
                   console.log(data);
                }
           })
            .catch((error) => {
                 console.log(error);
             });
回答如下:

更多推荐

不允许使用 Node.js 方法

本文发布于:2024-05-31 02:48:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771195.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不允许   方法   Node   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!