Node.js如何响应Ajax的POST请求并且保存为JSON文件详解


Posted in Javascript onMarch 10, 2017

实现目的

使用D3.js开发的前端应用,用户与图交互更改图的内容后,如何在下一次加载的显示上一次最后交互的内容?

本文提供通过后端的Node.js程序提供一种最小化方案,作为参考。

开发环境

  • 后端:Node.js
  • Node.js模块:Express、body-parser、fs
  • 前端:JQuery

后端

1、安装nodejs,装好后用显示版本号确认是否安装好

node --version

2、新建一工程目录(文件夹),安装模块。

npm install express
npm install body-parser

Express 是一种Node.js Web 应用程序框架:http://expressjs.com/

bodyParser是用来解析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,证明结果正确。

总结

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

Javascript 相关文章推荐
Javascript中的数学函数集合
May 08 Javascript
JavaScript面向对象(极简主义法minimalist approach)
Jul 17 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
JS冒泡事件与事件捕获实例详解
Nov 25 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
layui 监听select选择 获取当前select的ID名称方法
Sep 24 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
微信小程序 图片加载(本地,网路)实例详解
Mar 10 #Javascript
微信小程序 页面传值详解
Mar 10 #Javascript
详解Vue生命周期的示例
Mar 10 #Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 #Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 #Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 #Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 #Javascript
You might like
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
canvas绘制七巧板
2017/02/03 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
了解重排与重绘
2019/05/29 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
中秋节礼品促销方案
2014/02/02 职场文书
2015年预算员工作总结
2015/05/14 职场文书
付款证明格式范文
2015/06/19 职场文书
公司保洁员管理制度
2015/08/04 职场文书
新学期感想
2015/08/10 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python