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 ...
随机推荐
- 用shell编写一个三角形图案
第一种方法 #!/bin/bash read -p "请输入层数: " n for (( i=1; i<=$n;i++ ))do for (( j=n; j>=i; ...
- 洛谷P1466 集合 Subset Sums_01背包水题
不多解释,适当刷刷水… Code: #include<cstdio> #include<algorithm> using namespace std; const int ma ...
- jsmind实现思维导图,和echars 的tree图类似
https://blog.csdn.net/qq_41619796/article/details/88552029
- 常用shell备份脚本
#!/bin/sh # File: /路径/mysql/backup_mydb.sh # Database info DB_NAME="szby" DB_USER="ro ...
- Python笔记22-----高阶函数
1.sorted(排序对象,key=):排序对象可以是类别,也可以是字符串和字典,key为自定义排序,如:[key=abs,按绝对值排序][key=lambda x:x[1],按排序对象的第二个值排序 ...
- 【JavaScript框架封装】实现一个类似于JQuery的事件框架的封装
// 事件框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({ /** * 实现一个浏览器的基本 ...
- nyoj256-C小加之级数求和
C小加 之 级数求和 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 最近,C小加 又遇到难题了,正寻求你的帮助. 已知:Sn= 1+1/2+1/3+-+1/n. 显然对 ...
- BZOJ 2333 [SCOI2011]棘手的操作 (可并堆)
码农题.. 很显然除了两个全局操作都能用可并堆完成 全局最大值用个multiset记录,每次合并时搞一搞就行了 注意使用multiset删除元素时 如果直接delete一个值,会把和这个值相同的所有元 ...
- 把SQLAlchemy查询对象转换成字典/json使用(分开)
注:针对的是查询出来的是单条对象 多个对象的话可以使用for循环遍历查询出来的对象列表,也可以使用下面的方法 1.config.py文件 #!/usr/bin/env python #-*- codi ...
- [jQuery]ajax同步请求在方法内问题
在函数内写$.ajax() 的成功函数中return 的值,并没有return到外层方法返回至