node——将数据写入data.json防覆盖
1.读取data.json文件内容
2.判断是否是第一次读取data.json(第一次读取则data.json是没有的)
3.将data.json数据转为数组list
4.将写入数据加入数组list
5.将liist保存如data.json
代码如下
else if(req.url.startsWith('/add')&&req.method==='get'){ //实现在原来list数组的基础上追加新闻,而不是覆盖
//读取data.json文件中的数据,并将读取道德数据转化为一个数组
//此处,读取文件的时候可以直接写一个utf8编码,这样的话,回调函数中的data就是一个字符串了
fs.readFile(path.join(__dirname,'data','data.json'),'utf8',function(err,data){
//因为第一次访问网站,data.json文件本身就不存在,所以会有异常
//这种错误,我们不认为是网站出错了,所以不需要抛出异常
if(err&&err.code!=='ENOENT'){
throw err;
}
//如果data没有读取到,则data为空,转换为数组
var list=JSON.parse(data||[]);
list.push(urlObj.query);
//把list数组写入data.json
//fs.writeFile数据只能传字符串或buffer,可以用JSON.stringify来转换
fs.writeFile(path.join(__dirname,'data','data.json'),JSON.stringify(list),function(err){
if(err){
throw err;
}
console.log('ok');
});
//3.跳转到新闻列表页
//设置响应报文头,通过响应报文头告诉浏览器,执行一次页面跳转操作
//重定向
res.statusCode=302;//跳转
res.statusMessage='Found';
res.setHeader('Location','/');
res.end();
}); }
node——将数据写入data.json防覆盖的更多相关文章
- node——将用户提交的数据写入data.json文件
前续 当我们在进行将数据提交到某个网页时,需要将提交数据保存下来 1.提交数据 2.获得数据 3.保存数据 先看提交数据: <!DOCTYPE html> <html lang=&q ...
- Vue项目【饿了么App】mock数据【data.json】
1.前后端分离式开发,约定好数据字段接口! 2.前端mock静态数据,开发完毕后,与后端进行数据联调! 3.vue.config.js 配置 devServer const appData = req ...
- Python json数据写入csv json excel文件
一.写入 写入csv和json, 可以使用csv这个包写, 我这里没有使用, 并且把写csv和json的写到一起了 具体的代码就不解释了 def write_file(file_name, items ...
- 自定义Qt构建步骤,添加数据文件(txt,json等)到构建目录
Qt的qrc资源文件是只读的,因此我们如果要用txt之类的文件存储数据,在程序运行过程中就不能对它们进行修改,也就是不能进行读操作.用"file.open(QIODevice::WriteO ...
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
先看一下我要实现的功能界面: 这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- Python3 Pandas的DataFrame格式数据写入excle文件、json、html、剪贴板、数据库
Python3 Pandas的DataFrame格式数据写入excle文件.json.html.剪贴板.数据库 一.DataFrame格式数据 Pandas是Python下一个开源数据分析的库,它提供 ...
- python 将json格式的数据写入csv格式的文件中
# coding=utf-8 import json import csv # 重新进行配置读写数据时的默认编码 import sys reload(sys) sys.setdefaultencodi ...
- json数据写入hbase
package main.scala.com.web.zhangyong168.cn.spark.java; import org.apache.hadoop.hbase.HBaseConfigura ...
随机推荐
- timeval的时间转换成毫秒之后多大的数据类型可以装下
struct timeval { long tv_sec; /*秒*/ long tv_usec; /*微秒*/ }; 秒的定义为long,为了防止溢出,转换成毫秒之后保存在long long中
- PuTTY_0.67.0.0工具链接linux
1.虚拟机设置 在网络适配器中选中桥接模式,勾选复制物理网络链接状态(p)选项.点击确认. 2.开启虚拟机,检查是否安装有ssh服务器 a.查看是否启动ssh服务器 ps -a | grep ssh ...
- 我的第一个arcgis地图应用
步骤: 1.设置一个基本的html文档 <!DOCTYPE html> <html> <head> <meta http-equiv="Conten ...
- Elasticsearch 入门 - Exploring Your Cluster
The REST API Cluster Health ( http://localhost:9200/ ) curl -X GET "localhost:9200/_cat/health? ...
- Hibernate的事务机制
http://www.cnblogs.com/jerryxing/archive/2012/04/24/2468999.html http://www.cnblogs.com/xiaofeilee/p ...
- js区分ie不同版本
方法1 js中 if(window.ActiveXObject)//判断浏览器是否属于IE { var browser=navigator.appName var b_version=navigat ...
- 如何打开WCF测试客户端
- [HTML5] Accessibility Implementation for complex component
When you developing a complex component by your own, one thing you cannot ignore is Accessibility. C ...
- 每天自己主动备份mysql脚本
定时运行脚本: 1.运行 crontab -e 00 00 * * * /bin/bash yourpath/mysqlbak.sh 2.打开自己主动运行文件 vi /etc/crontab 在etc ...
- Project Euler:Problem 88 Product-sum numbers
A natural number, N, that can be written as the sum and product of a given set of at least two natur ...