zoukankan      html  css  js  c++  java
  • jquery ajax 实例

    **使用jquery ajax 实例:**

    通过获取用户输入的信息在持久层增加数据怎样去实现,以及整个流程。

    **使用ajsx实现数据库增加数据的操作步骤:**

    首先准备好模块(node_modules)配置好服务服(app.js)

    **持久层(dao)**:

    表1:**database.js**(主要作用是和数据库建立连接) 
    表2:**UserDAO.js**(实现对数据的增,删,改,查)

    表2代码:

        var db = require("./database");
        exports.add = function (data,func){
        db.query("insert into t_users(u_name,u_pwd) values(?,?)",data,function(){
            func();
        })
        };
        增加数据:insert into 
        data就是用户在界面提供的信息,针对增加数据来说,只在表示层获取数据,业务层不进行逻辑操作,然后传到持久层,持久层再把数据增加到表名为t_users,字段名为u_name,u_pwd中,增加之后返回到业务层,再返回到表示层,可以给个提示给用户,也可以不给。再呈现给用户。
        
    **业务层(Service)**:

    表:UserService.js

    代码:

        var userDAO = require("../dao/UserDAO");
        exports.reg = function(data,func){
            userDAO.add(data,function(){
                func();
            })
        };
        
    **表示层(routes)**:
        
    表:UserRoute.js

    代码:

        var express = require('express');
        var router = express.Router();
        var userService = require("../service/UserService");
        
        router.post('/reg',function(req, res, next){
            var data = [req.body.username,req.body.password];

            userService.reg(data,function(){
                res.send("注册成功,请登陆");
            });
        });
        
        
    网页界面:

    表:reg.html

        <script src="js/jquery-1.11.3.min.js"></script>
        <script>
            $(function(){
            
            $("input:button").click(function(){
            
                 if($("input[name=confirmPwd]").val() == $("input[name=password]").val()){
                        我用来验证输入的密码和确认密码的值必须一致。
                        $.ajax({
                            type:"post",
                            url:"/users/reg",
                            data: $("form").serialize(), data里的数据就是表单里name="username"、"password"的值。
                            success:function(data){
                            把数据传到持久层之后,从表示层得到服务器的信息。
                                alert(data);用弹出框显示注册成功,请登陆,然后跳转到登陆界面。
                                window.location = "./denglu.html";
                            }
                        })
                    }else{
                        $("input[name=confirmPwd]").next().html("两次输入的密码不一致,请重新输入!");
                    }
        
                });
            })
        </script>
        
    **服务器(app.js)**

    针对不同的对象构建,其他代码一样,只需加两句,我这个例子,是针对用户的

        var userRoute = require('./routes/UserRoute');
        app.use('/users', userRoute);//针对用户

  • 相关阅读:
    【Boost】boost库asio详解5——resolver与endpoint使用说明
    VS路径定义
    C++ Primer 第二章 学习笔记
    C++ Primer 第三章 学习笔记
    C++ dll的隐式与显式调用
    BOOST编译方法
    Real World CTF一日游
    蝉知CMS5.6反射型XSS审计复现
    关于MJ刷新的报Too many arguments to function call, expected 0, have *问题
    XIB做适配(二)
  • 原文地址:https://www.cnblogs.com/muqnly/p/4967272.html
Copyright © 2011-2022 走看看