zoukankan      html  css  js  c++  java
  • node.js前后台交互示例 -- 使用node.js实现用户注册功能

    node.js环境自行搭建,参考菜鸟教程的node.js就可以。

    1 通过ajax提交index.html中form表单

    register.html文件如下:

    <!doctype html>
    <html>
    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
        <script src="jquery.js"></script>
        <script src="ajax.js"></script>
        <style>
            form{padding: 100px;border: 1px solid red;width: 350px;margin: 0 auto;}
            form input{display: block;margin: 0 auto;margin-bottom: 20px;}
        </style>
    </head>
    <body>
        <form id="register" action="" method="get">
            <input type="hidden" name="action" value="register" />&ensp;&ensp;名: <input type="text" name="name" placeholder="请输入用户名..." />&emsp;&emsp;码: <input type="password" name="pass" placeholder="请输入密码..." />
            电子邮件:<input type="email" name="email" placeholder="请输入合法邮件名..." />
            <input id="register-sub" type="submit" value="注册" />
        </form>
    </body>
    </html>

    ajax.js文件如下:

    $(function(){
        $('#register-sub').on('click',function(){
            var info = $('form').serialize();
            $.ajax({
                type:"get",
                url:"http://127.0.0.1:8081",
                data:info,
                success:function(response,status,xhr){
                    alert(response);
                    localStorage.name = $('input[name="name"]').val();
                }
            });
            return false;
        });
        
        $('#login-sub').on('click',function(){
            return false;
        });
    });

    2 重点node.js后台:接收数据、写入数据库、给前台返回信息

    首先创建服务器文件:server.js: res.writeHead();后边的那个是为了跨域访问

    var http = require('http');
    var url = require('url');
    var util = require('util');
    var mysql = require('./mysql');//这个是自己写的用来向数据库写入用户的文件
    
    http.createServer(function(req,res){
        res.writeHead(200,{"Content-Type":'text/plain','charset':'utf-8','Access-Control-Allow-Origin':'*','Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'});
        //解析URL参数
        var params = url.parse(req.url,true).query;
        mysql.reg(params.action,params.name,params.pass,params.email);
        res.write("注册成功");
        res.end();
    }).listen(8081);

    其次mysql.js文件连接数据库:

    exports.reg = function (action,name,pass,email){
        var mysql  = require('mysql');  
       
        var connection = mysql.createConnection({     
          host     : 'localhost',
          user     : 'root',
          password : '123456',
          port: '3306',     
          database: 'test', 
        }); 
        
        connection.connect();
         
        var modSql = "insert into user (name,pass,email) values ('"+name+"','"+pass+"','"+email+"')";
        
        connection.query(modSql,function (err, result) {
           if(err){
                 console.log('[UPDATE ERROR] - ',err.message);
                 return;
           }
        });
        connection.end();
    }

    这样其实一个注册功能就基本实现了,在浏览器中打开register.html,点击注册,会把数据提交到服务器(这里跨域了奥),再写入数据库,就实现了注册功能。

  • 相关阅读:
    微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
    微信公共服务平台开发(.Net 的实现)4-------语音识别
    微信公共服务平台开发(.Net 的实现)3-------发送文本消息
    微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
    微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
    checkboxlist 横向显示,自动换行
    VMware Workstation unrecoverable error: (vmx)虚拟机挂起后无法启动问题
    ASP.NET给DataGrid,Repeater等添加全选批量删除等功能
    redis 优缺点 使用场景
    redis消息队列
  • 原文地址:https://www.cnblogs.com/by-dxm/p/6723039.html
Copyright © 2011-2022 走看看