开发者学堂课程【Node.js 入门与实战:get方式提交新闻防止新闻被覆盖掉(补充说明)】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/588/detail/8282
get方式提交新闻防止新闻被覆盖掉(补充说明)
index.js文件部分代码(新闻)
// 1.1 读取 data.json文件中的数据,并将读取到的数据转换为一个数组
//此处,读取文件的时候可以直接写一个utf希编码,这样的话,回调函数中的 data就是一个字符串了
fs.readFile(path.join( _dirname,'data', *data.json'),'utf8', function (err,data){
console.log('--------------' + data);
//因为第一次访问网站, data.json支件本身就不存在,所以肯定是有错误的
//但是这种错误,我们并不认为是网站出错了,所以不需要抛出异常
if (err 8& err.code !== " ENOENT'){
throw err;
}
//如果读取到数据了,那么就把读取到的数据 data,转换为list数组
//如果没有读取到数据,那么就把'[]’转换为数组
var list = JSON.parse(data ll '[]');
list.push(url0bj.query);
var obj = {"name": "zhansan","age":18};
// 2.把用户提交的新闻教据保存到data.json文件中//把list教组中的数据写入到 data.json文件中
fs.writeFile(path.join(__dirname, 'data', 'data.json'),JSON.stringify(list), function (err){
if (err) {
throw err;
}
1.执行如下:
C:\Users\Humble\Desktop
\12期\03-HackerNe
Node index4.js
2.浏览器访问该地址提交并跳转为(此界面):
3.第一次提交打印结果为(undefined):
C:\Users\Humble\Desktop
\12期\03-Hac
Node index4.js
……………undefined
结果为undefined的原因是该文件不存在。
4.更改代码为:
//如果读取到数据了,那么就把读取到的数据data,转换
//如果没有读取到数据,那么就把‘[]’转换为数组
var list =JSON.parse(data ll '[]");
//向数组对象list中push一条新闻list.push(ur10bj.query);
5. 在进行执行代码提交后打印出的结果如下:
Index4.js
Localhost:9090
……[{“title”:”XXX”,”url”:”ffff”,”text”:”dddd
”}]
本次读取到字符串里面的一条新闻;接下把这条新闻转成数组对象,之后在部署一条新闻把list再写回去里面就有两条新闻了。
6. 如图所示结果:
[("title":"xxx","ur1":"fff","text":"dddd"},{"title":"ccc","ur1":"ccc" ,"text":"cccc") ]