小言_互联网的博客

nodejs实现注册效果(实现前后端交互,并连接数据库)

341人阅读  评论(0)

nodejs实现注册效果

server.js

let http=require('http');//导入http模块
let mysql=require('mysql');//导入mysql模块

//注册,链接数据库
http.createServer(function(req,res){
    res.setHeader("Access-Control-Allow-Origin","*");
    let data='';
    console.log('接收到请i去。。。。');
    //接收数据
    req.on('data',function(chunk){
        data+=chunk;
    });
    //接受完毕
    req.on('end',function(){
        // console.log('数据接收完毕:',data);
        //username=jay&age=22&addr=newyork
        var arr=data.split('&');
        let name,age,address;//保存前端传递来的数据
        arr.forEach(function(item){
            let arr0=item.split('=');
            if(arr0[0]=='username'){
                name=arr0[1];
            }else if(arr0[0]=='age'){
                age=arr0[1];
            }else if(arr0[0]=='addr'){
                address=arr0[1];
            }
        });
        // console.log(name,age,address);
        //将数据存入数据库
        saveData(name,age,address,function(msg){
            res.write(JSON.stringify(msg));
            res.end();
        });
    });

    // res.write('hello world');
    // res.end();
}).listen(9008);//监听端口号9008

console.log('服务器启动.......');

//将数据存入数据库
function saveData(name,age,address,fn){
    //1.创建链接
    let conn=mysql.createConnection({
        host:'localhost',             //主机名
        user:"root",                  //数据库账户名
        password:"root",              //数据库密码
        database:"mytest1"                    //要连接的数据名称
    });
    //2.建立链接
    conn.connect();

    // let sql="SELECT * FROM student;";
    let sql=`insert into student (name,age,address) values ('${name}',${age},'${address}');`;
    //3.操作 (增/删/改/查)
    //参数一:sql语句  参数二:回调函数
    conn.query(sql,function(err,result){
        if(!err){
            console.log('数据库访问成功:',result);
            fn({code:200,msg:"注册成功"});
        }else{
            console.log('数据库访问失败:',err);
        }
    });
    //4.断开链接
    conn.end();
}

html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <button onclick="getData()">请求服务器</button>
    <script>
        // let url = 'http://127.0.0.1:9005?username=tom&pwd=90808';
        let url = 'http://127.0.0.1:9008';

        function getData() {
            let xhr = new XMLHttpRequest();
            xhr.open('post', url);
            xhr.onreadystatechange = function () {
                if (this.readyState == 4 && this.status == 200) {
                    console.log(this.responseText);;
                }
            };
            // xhr.send(null);
            // xhr.send("username=huahua&pwd=9090");
            xhr.send("username=abc&age=32&addr=newyork");
        }
    </script>
</body>

</html>

转载:https://blog.csdn.net/weixin_44200575/article/details/102488446
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场