Node.js接收Ajax POST请求并保存为JSON文件

作者:夜航船

时间:2026-10-21

浏览:369

本文介绍如何使用Node.js和Express框架接收前端Ajax发送的POST请求,并通过body-parser解析数据,最终将客户端提交的JSON对象保存为服务器端的graph.json文件。

文章目录

实现目的

实现目的

在使用D3.js构建的前端应用中,当用户与图表交互并修改内容后,如何确保下次加载时能显示上次交互的最终状态?

本文提供基于后端Node.js的最小化解决方案,供参考。

开发环境

开发环境

  • 后端技术栈:Node.js
  • 所需Node.js模块:Express、body-parser、fs
  • 前端技术栈:JQuery

后端配置

后端配置

1、安装Node.js,安装完成后通过命令行显示版本号以确认安装成功。


node --version

2、新建工程目录(文件夹),并在其中安装相关模块。


npm install express
npm install body-parser

Express是一个Node.js Web应用程序框架,官方地址:http://expressjs.com/

body-parser用于解析HTTP请求体,官方地址:https://github.com/expressjs/body-parser

3、新建一个名为createServer.js的文件。


var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');

var app = express();

// bodyParser.urlencoded解析form表单提交的数据
app.use(bodyParser.urlencoded({extended: false}));

// bodyParser.json解析json数据格式的
app.use(bodyParser.json());

app.post('/saveJSON',function(req, res){

 // 对象转换为字符串
 var str_json = JSON.stringify(req.body); 

 fs.writeFile('graph.json', str_json, 'utf8', function(){
  // 保存完成后的回调函数
  console.log("保存完成");
 });

});

app.listen(3000);

4、运行createServer.js脚本。


Node createServer.js

该服务将监听来自 http://127.0.0.1:3000 的请求。

当请求路径为 http://127.0.0.1:3000/saveJSON 时,服务器会在当前目录下保存一个名为graph.json的文件,文件内容即为客户端发送的POST数据。

前端实现

前端实现


// 创建一个对象
var person = {
 name: "lucy",
 age: 25
}

// 通过JQuery 发送POST请求,内容是person
$.post("http://127.0.0.1:3000/saveJSON",person,function(data, status){
 alert("Data: " + data + "\nStatus: " + status);
});

在浏览器加载页面后,后端控制台会输出“保存完成”,这是writeFile回调函数的执行结果。此时服务器目录下会出现graph.json文件,证明操作成功。

总结

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对本站的支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章