node + jquery+ajax实现简单的注册与登录

node+ajax实现post与get两种方式

才开始学习node,花了两天时间来实现一个比较简单的用户注册和登录,前端与后台的交互是利用的ajax来实现后台与前端的交互,但是由于是用的ajax来进行交互,在本地服务器来实现这个功能的时候会有一个关于跨域的小问题,现在我还去解决这个问题。所以我们在打开user.html这个文件的时候,我们不能用文件的地址来打开,我们应该先用node开启服务器,然后通过localhost这个方式来打开这个页面。

node

1.node的下载和安装(由于主要是讲解这个简单应用的实现,而不是怎么安装和使用node,我相信你们肯定已经安装好node才会来用他做一些简单的尝试)
2.node的模块
const http = require('http')
const fs = require('fs')
const querystring = require('querystring')
const urlLib = require('url')

这里我们引用了http,fs, querystring, url四个模块,每个模块的作用大家可以到node官网去看http://nodejs.cn/api/

3.一个简单服务器的搭建
var http = require('http')
//引入http
http.createServer(function (request, response) {

    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'})

    // 发送响应数据 "Hello World"
    response.end('Hello World\n')
}).listen(8888)
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/')
4.由于是简单的功能,所以我没用数据库来保存和调用用户的信息,ps:是因为现在还不会数据库,我用是一个数组来保存和调用用户的信息。有一个坏处是当我重启我的服务器后,我的数据会丢失。
5.接口代码
var server = http.createServer(function(req, res) {
    // 解析数据
    var str = ''
    req.on('data', function(data) {
        str += data
    })

    req.on('end', function() {
        var obj = urlLib.parse(req.url, true)
        const url = obj.pathname
        const GET = obj.query
        const POST = querystring.parse(str) 

        // 区分
        if(url == '/user') { // 接口
            switch(GET.act) {
                case 'reg':

                    // 1.检查用户名
                    // 2.插入users
                    if(users[GET.user]) {
                        res.write('{"ok": false, "msg": "此用户已存在"}')
                    } else {
                        users[GET.user] = GET.pass
                        res.write('{"ok": true, "msg": "注册成功!"}')
                    }
                    break;

                case 'login':

                    if(users[GET.user] == null) {
                        res.write('{"ok": false, "msg": "此用户不存在"}')
                    } else if(users[GET.user] != GET.pass){
                        res.write('{"ok": false, "msg": "用户名或密码有误"}')
                    } else {
                        res.write('{"ok": true, "msg": "登录成功"}')
                    }
                    break
                default:
                    res.write('{"ok": false, "msg": "未知的act"}')
            }
            res.end()
        } else {
            // 读取文件
            var file_name = './www' + url
            fs.readFile(file_name, function(err, data) {
                if(err) {
                    res.write('404')
                } else {
                    res.write(data)
                }
                res.end()
            })
        }
    })
})

node后端服务器就算搭建成功

前端页面

由于这个前端页面比较简单,就不详述,直接贴代码了

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
    window.onload = function() {
        $("#login_btn").click(function() {
            $.ajax({
                type: 'get',
                url: '/user',
                data: {
                    act: 'login',
                    user: $("#user").val(),
                    pass: $("#pass").val(),
                },
                success: function(str) {
                    var json = eval('('+str+')');

                    if(json.ok) {
                        alert('登录成功')
                        console.log(json)
                    } else {
                        alert('登录失败' + json.msg)
                        console.log(json)
                    }
                },
                error: function() {
                    alert('错误!')
                }
            });
        });


        $("#reg_btn").click(function() {
            $.ajax({
                type: 'get',
                url: '/user',
                data: {
                    act: 'reg',
                    user: $("#user").val(),
                    pass: $("#pass").val(),
                },
                success: function(str) {
                    var json = eval('('+str+')')

                    if(json.ok) {
                        alert('注册成功')
                        console.log(json)
                    } else {
                        alert('注册失败' + json.msg)
                        console.log(json)
                    }

                },
                error: function() {
                    alert('错误!')
                }
            });
        });
    }
</script>
<body>  
    用户:<input type="text" id="user"><br>
    密码:<input type="password" id="pass"><br>
    <input type="button" value="注册" id="reg_btn">
    <input type="button" value="登录" id="login_btn">
</body>
</html>
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现一个完整的登录注册登录后跳转主页的项目,我们可以使用Bootstrap和jQuery实现。 首先,我们需要创建一个登录页面和一个注册页面。使用Bootstrap可以快速构建一个具有响应式布局的页面,使用它的各种组件和样式可以使页面更加美观和易于使用。 在登录页面,我们可以创建一个包含输入框和提交按钮的表单。使用jQuery可以监听表单的提交事件,并获取用户输入的用户名和密码。 然后,我们可以通过Ajax技术将用户输入的用户名和密码发送给服务器端进行验证。在服务器端,我们可以使用后端语言(如PHP或Node.js)来处理登录请求,并验证用户的用户名和密码是否正确。如果验证成功,服务器可以返回一个成功的响应。 在客户端,我们可以根据服务器返回的响应来判断用户是否成功登录。如果登录成功,我们可以使用jQuery重定向用户到主页。可以通过修改window.location.href来实现页面的跳转。 对于注册页面,我们可以创建一个包含输入框和提交按钮的表单,类似于登录页面的处理方法,只是需要将用户输入的信息发送到服务器端进行注册。 在主页中,我们可以使用Bootstrap来构建一个漂亮的用户界面,并使用jQuery来处理用户在主页上的交互和事件。 总之,通过使用Bootstrap和jQuery,我们可以实现一个完整的登录注册登录后跳转主页的项目。通过它们提供的功能和特性,可以使我们的项目更加易于使用和美观。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值