簡體   English   中英

將數據保存到 a.json

[英]Saving data to a .json

我需要將 html 表單中的數據存儲到 .json 文件,但我得到的是:

http://localhost:3000/teachers/create?avatar_url=&name=&birth=&grade=medio&class_type=P&lesson=

Javascript 代碼:

const fs = require("fs");
const data = require("./data.json");

exports.post = function (req, res) {
    const keys = Object.keys(req.body);

    for (key of keys) {
        if (req.body[key] == "") {
            return res.send("Please, fill in all fields!");
        }
    }

    let { avatar_url, birth, name, grade, class_type, lesson } = req.body;

    birth = Date.parse(birth);
    const created_at = Date.now();
    const id = Number(data.teachers.length + 1);

    data.teachers.push({
        id,
        name,
        avatar_url,
        birth,
        grade,
        class_type,
        lesson,
        created_at,
    });

    fs.writeFile("data.json", JSON.stringify(data, null, 2), function (err) {
        if (err) return res.send("Write file error!");

        return res.redirect("/teachers");
    });

    //return res.send(req.body);
};

沒有看到你的代碼就不可能說,但我根據你的問題猜測是你的 html <form>沒有method="post" ,所以它作為 GET 提交。 這可以解釋為什么您會在 URL 查詢字符串中看到參數,以及為什么您的處理程序(似乎是為 POST 請求設置的)沒有按照您的預期執行,因為該處理程序沒有收到此請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM