node和ajax是灵魂,node简单ajax数据交互

server.js

//引入node的http模块

const http = require('http');

//引入node的url模块

const url = require('url')

//引入node的querystring模块

const querystring = require('querystring');

//引入node的file system模块

const fs = require('fs');

let users = {}

//创建一个HTTP服务器

let server = http.createServer((req,res)=>{

//get

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

//post

let str = '';

//post数据要分段接收,因为浏览器会分段发送

//有一段数据到达

req.on('data',data=>{

str += data

})

//所有数据都到达完毕

req.on('end',()=>{

let post = querystring.parse(str)

//写东西

switch(pathname){

case '/reg'://注册

{

let {user,password} = query;

//可以返回中文响应

res.writeHead(200,{ 'Content-Type': 'text/plain;charset=utf-8'});

if(!user){

res.write('{"err":1,"msg":"用户名必须"}')

}else if(!password){

res.write('{"err":1,"msg":"密码必须"}')

}else if(!/^\w{8,32}$/.test(user)){

res.write('{"err":1,"msg":"用户名不合法"}')

}else if(/^['|"]$/.test(password)){

res.write('{"err":1,"msg":"密码不合法"}')

}else if(users[user]){

res.write('{"err":1,"msg":"用户名已存在"}')

}else{

users[user] = password

res.write('{"err":0,"msg":"注册成功"}')

}

res.end()

break;

}

case '/login':

{

let {user,password} = query;

//可以返回中文响应

res.writeHead(200,{ 'Content-Type': 'text/plain;charset=utf-8'});

if(!user){

res.write('{"err":1,"msg":"用户名必须"}')

}else if(!password){

res.write('{"err":1,"msg":"密码必须"}')

}else if(!/^\w{8,32}$/.test(user)){

res.write('{"err":1,"msg":"用户名不合法"}')

}else if(/^['|"]$/.test(password)){

res.write('{"err":1,"msg":"密码不合法"}')

}else if(!users[user]){

res.write('{"err":1,"msg":"用户名不存在"}')

}else if(users[user] != password){

res.write('{"err":1,"msg":"用户名或密码错误"}')

}else{

res.write('{"err":0,"msg":"登录成功"}')

}

res.end()

break;

}

default:

fs.readFile(`www${pathname}`,(err,data)=>{

if(err){

res.writeHead(404)

res.write('Not Found')

}else{

res.write(data)

}

res.end()

})

}

})

});

//指定端口5000

server.listen(5000)

1.html

标题

$(function(){

$('#btn1').click(function(){

console.log(22);

$.ajax({

url:'/login',

data:{

user:$('#user').val(),

password:$('#password').val(),

},

dataType:'json',

success(data){

console.log(data);

},

error(err){

console.log(err);

}

})

});

$('#btn2').click(function(){

$.ajax({

url:'/reg',

data:{

user:$('#user').val(),

password:$('#password').val(),

},

dataType:'json',

success(data){

console.log(data);

},

error(err){

console.log(err);

}

})

})

})

读取文件操作后的内容

用户名:

密 码:

效果

8eb819e3de2c

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值