Javascript 将对象附加到json文件
我有一个任务来实现一个伪购物车页面,当我点击checkout时,我想向一个json文件“ordersTest.json”发送一个请求,其结构如下:Javascript 将对象附加到json文件,javascript,jquery,json,node.js,express,Javascript,Jquery,Json,Node.js,Express,我有一个任务来实现一个伪购物车页面,当我点击checkout时,我想向一个json文件“ordersTest.json”发送一个请求,其结构如下: {“订单”:[]}。因此,当发送post请求时,我必须将数据放入json中的orders数组中。我对Nodejs和express完全陌生。这是我的第一个项目,我提出了一个非常简单的服务器 const express = require('express') const path = require('path') const fs = require
{“订单”:[]}
。因此,当发送post请求时,我必须将数据放入json中的orders数组中。我对Nodejs和express完全陌生。这是我的第一个项目,我提出了一个非常简单的服务器
const express = require('express')
const path = require('path')
const fs = require('fs')
const url = require('url')
const bodyParser = require('body-parser')
const app = express()
const ordersJson = require('./public/ordersTest.json');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.post('/api/orders', (req, res) => {
let body = req.body;
console.log(body);
fs.appendFile('./public/ordersTest.json', JSON.stringify(body), err => {
if (err) console.log(err);
})
})
但是这个东西只会将它附加到文件的末尾。我需要把它放在这个订单数组中
这是我的ajax,在文章正文中传递了一个示例对象:
$(".btn-checkout").on('click', function() {
let date = new Date();
$.ajax({
method : "POST",
url: "/api/orders",
data : {a: "abc"},//{ order: "order",date: date.toDateString(), order: JSON.stringify(cart)},
success : function(success){
console.log(success,'success');
},
error : function(err) {
console.log(err);
}
});
clearCart();
displayClearedCart();
});
您需要解析JSON文件,然后将其视为一个对象。完成后,再次将其转换为JSON并覆盖文件。像这样
app.post('/api/orders', (req, res) => {
let body = req.body;
var ordersTest = require('./public/ordersTest.json');
ordersTest.orders.push(body);
fs.writeFile('./public/ordersTest.json', JSON.stringify(ordersTest), function(err) {
if (err) res.sendStatus(500)
res.sendStatus(200);
});
})
未测试,请修复任何打字错误。谢谢!工作完美