百度t7 教程 node 初步4 用户注册

1,   Node 静态页面的写法

index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>index</title>

	<script type="text/javascript"  src="jquery.js"></script>

	<script type="text/javascript">
		
			window.onload= function(){
				let oBtn = document.getElementById('btn')
				let oUserName = document.getElementById('username')
				let oPsw= document.getElementById('psw')

				oBtn.onclick = function(){
					let oUserText= oUserName.value;
					let oPswText= oPsw.value

					 //发送 ajax  请求!
					$.ajax({
						url:'http://localhost:3000/reg',
						data:{
							'username':oUserText,
							'password':oPswText
						},
						success: function(data){
							alert('请求成功' + data)
						},
						error:function(data){
							alert("请求失败: "+data)
						}
					})

				}
			}

	</script>
</head>
<body>
	
	<h1>欢迎来到主页!!</h1>

	
	username:<input  id="username" type = 'text'/> </br>
 	password:<input type="text" id="psw"></input> </br>

 	<input type="button" id="btn" value="提交">
			
	
</body>
</html>

2, index.js 写法

let http = require('http')
let fs = require('fs')
let url = require('url')
let mysql=require('mysql')

// 在这里就可以写注册的逻辑了!
		
		var connection = mysql.createConnection({
		host : 'localhost',
		user : 'root',
		password : 'root',
		database : 'action'
		});
		connection.connect();



//   创建个 服务器
let server = http.createServer(function(req,res){

	// 1, 拆解url 
	// es6 解构赋值  

	let {pathname,query}  = url.parse(req.url,true);
	let {username,password}= query;

	console.log(pathname,username,password)
	if(pathname=='/login'){
			res.write('login')
			res.end()		
	}else if(pathname=='/reg'){
		console.log(username)
		console.log(password)
		




		// 1,校验 ,
		var pattern = /\w{6,18}/i;
		if(!pattern.test(username)){
			res.write('用户名不符合必须是字母数字下划线, 并且是6-18位')
			res.end();
		}else if(!pattern.test(password)){
				res.write('密码不符合规范并且是6-18位')
				res.end();
		}else {
			// 去数据库里查找用户名是否存在,若存在也 返回信息
			let sql = `select id from account where username='${username}';`
			connection.query(sql,function(err,data){
				if(err){
					res.writeHeader(404)
					res.write('数据库出错')
					res.end();
				}else{
					if(data.length>0){
						// 用户名已经存在:
					  	res.write('username is exist!!')
					  	res.end();
					}else {
						// 讲 用户插入到数据库中 
let sql2  =  `insert into account(username,password,islogin)  values('${username}','${password}',1);`
				console.log(sql2)
					connection.query(sql2,function(err,data){
							if(err){
								res.writeHeader(404)
								res.write('数据库出错')
								res.end();
															
							}else{
								res.write('注册成功 ')
								res.end();
												
							}
					})


					}


				}
			})

		}



	}else if(pathname=='/index.html'){
		//读取文件的操作: 
		fs.readFile('./public/index.html',function(err,data){
			if(err){
				//若 读取  文件失败,
				res.writeHeader(404)
				res.write('文件不存在')
				res.end();
			}else{
				res.write(data.toString())
				res.end();
			}
		})
	}else if(pathname=='/jquery.js'){

		fs.readFile('./public/jquery.js',function(err,data){
			if(err){
				//若 读取  文件失败,
				res.writeHeader(404)
				res.write('文件不存在')
				res.end();
			}else{
				res.write(data.toString())
				res.end();
			}
		})

	}	
});


// 监听3000 端口 
server.listen(3000,function(){
	console.log('connet  success')
})


需要 注意 的 是,只要是静态页面 ,就 会走node 的逻辑, 比如那个jquery 引入,它也会走 node 路径,所以都要处理 

所以在node 要处理静态 资源 ,它不 会自动引入,它 还是 需要找node ,可见 Node是个底层的  服务器

关于 用户的注册逻辑,逻辑比较简单,但是写起来稍微繁琐些,实际 上难度 不大,就 是 很繁琐 

crud 就是很繁琐!!其实蛮无趣的!

好吧,这篇就写么多, 下一篇,再把注册写完,就基本 完成 了 !

不完成 ,就 没办法往下学习,因为

后面的 才是最有价值的 !!

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值