[英]Node.JS server side script to update JSON file
我已经部分编写了一个 NODE.JS 文件,以使用从客户端收到的数据更新 JSON 文件。 该帖子成功运行。 Get 命令没有。 我想知道是否有更好的方法来做到这一点? 我有大约 6 个不同的回调选项可供编写。 都不同。 我想知道是否有一个 node.JS 脚本已经完成,它具有我需要的所有东西。 或者如果有一种不同的语言可以使它更容易。
这是节点:
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
console.log('Request received: ');
if (req.method == 'POST') {
req.on('data', function (chunk) {
fs.writeFile("comments-data.json", chunk, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
})
});
res.end('{"msg": "success"}');
};
if (req.method == 'GET') {
req.on('data', function (chunk) {
fs.readFile('comments-data.json', 'utf8', function (err, data) {
if (err) throw err;
obj = JSON.parse(data);
return data;
});
});
res.end(data);
};
}).listen(8080, '127.0.0.1');
console.log('Server running at http://127.0.0.1:8080/');
这是AJAX调用:
postComment: function(commentJSON, success, error) {
$.ajax({
type: 'post',
url: 'http://127.0.0.1:8080',
data: commentJSON,
success: function(comment) {
success(comment)
},
error: error
});
},
但是我正在使用的 jquery 插件有一个对各种事情的 ajax 调用。 我需要在调用中执行 GET、POST、PUT、DELETE,有时还需要多个。
这是我正在使用的所有回调的完整列表:
使用 express 你可以很容易地做到这一点。
const express = require('express');
const app = express.Router();
//POST Request
app.post('/',(req, res, next)=>{
fs.writeFile("comments-data.json", chunk, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
res.json({'status': 'Success'})
})
})
//GET Request
app.get('/',(req, res, next)=>{
fs.readFile('comments-data.json', 'utf8', function (err, data) {
if (err) throw err;
obj = JSON.parse(data);
res.json({'status': 'Success', 'data':data})
});
})
至于您关于在不同模块中编写它的问题。 那是基于您采用的模式。 有各种可用的 nodejs 模式,例如。 基于控制器或基于类。 这一切都取决于你觉得什么舒服。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.