Web项目的搭建

补充上一篇内容:
重点: post参数处理 以及get参数处理
get参数处理===> url模块

  url.parse()====>将url字符串转换为  json类型的对象
  属性: query ===>存放传输的数据
   true值  用来设置 query的格式 为 json格式
  
  url.format(); ====>将json转换为字符串

post 参数处理====>querystring模块

  querystring.parse()===>将字符串转换为json对象
  querystring.stringify()===>将对象转为字符串
 判断请求的方式:  req.method===>post,get,delete,put

二 ,搭建Web项目的步骤:
1, 首先创建入口文件 index.js;
2, 搭建模板引擎 package.json;(npm init -y)
3, 引入模板 art-template;(npm install art-template --save)
4, 在入口文件中 添加模板引擎的代码段;

const http=require('http');
const path=require('path');
const fs=require('fs');
// querystring 模块提供用于解析和格式化 URL 查询字符串的实用工具
const querystring=require('querystring');
const scoreData=require('./scores.json');
添加模板引擎的代码段
const template=require('art-template');
http.createServer((req,res)=>{
// 设置路由
// 查询成绩的入口地址 /query
// 获取成绩的结果  /score
if(req.url.startsWith('/query') && req.method=='GET'){
	let content=template(path.join(dirname,'views','index.art'),{});
	res.end(content);
}else if(req.url.startsWith('/score') && req.method=='POST'){
	console.log('======');
	// 获取成绩的结果  /score
	let pdata=''; 
	// 提交时 获取url信息
	req.on('data',(chunk)=>{
		// console.log(chunk);
		pdata+=chunk;
	});
	req.on('end',()=>{
		// 使用querystring解析url字符串
		let obj=querystring.parse(pdata);  // 解析为对象
		let result=scoreData[obj.code];  // 根据考号取数据
		console.log(result);
		// 返回内容之前先要进行数据渲染
		let content=template(path.join(dirname,'views','result.art'),result);
		res.end(content);
	});
}else if(req.url.startsWith('/all') && req.method=='GET'){
	// 查询全部成绩
	let content=template(path.join(__dirname,'views','list.art'),{
		list:[
			scoreData['no123'],
			scoreData['no124'],
			scoreData['no125'],
			scoreData['no126']
		]
	})
	res.end(content);
}
}).listen(3000,()=>{
console.log('http://localhost:3000');
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值