zoukankan      html  css  js  c++  java
  • 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();
        });
    
        
        
            
    }
  • 相关阅读:
    定位--position属性
    浮动
    超链接伪类
    对齐方式
    字体样式
    标准文档流
    CSS
    表单
    框架
    内部类
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/10923769.html
Copyright © 2011-2022 走看看