首页 前端知识 jQuery对ajax的封装、Node的数据库编程

jQuery对ajax的封装、Node的数据库编程

2024-02-17 09:02:20 前端知识 前端哥 500 887 我要收藏

目录

一、jQuery对ajax的封装

二、Node的数据库编程


一、jQuery对ajax的封装

1、$.ajax({}):可以实现get、post等请求
    
        $.ajax({
           url: '请求地址',
           type: '请求类型',
           data: '请求参数',
           dataType: '服务器端响应数据的类型',
           success: function(data){  -->请求成功后的回调函数
              参数'data'存放的服务器端的响应数据
           }
           error: function(err){  -->请求失败后的回调函数
           
              参数'err'存放的是请求失败的信息
           }
        })

新建一个js文件夹,将jQuery库文件复制进去:

 在html文件夹新建一个.html文件:

导入jQuery库:

<script src="../js/jquery-3.4.1.js"></script>

 前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jQuery对ajax的封装</title>
    <script src="../js/jquery-3.4.1.js"></script>
</head>
<body>
    <div>
        <label>用户名:
            <input type="text" id="username">
            <span id="name_info"></span>
        </label>
        <br><br>
        <label>密&nbsp;&nbsp;&nbsp;码:
            <input type="password" id="userpwd">
            <span id="pwd_info"></span>
        </label>
        <br><br>
        <button id="btn_login">登录</button>
        <br><br>
        <h2 id="info"></h2>
    </div>
    <script>
        $(function(){   //jQuery的入口函数
            $('#btn_login').click(function(){
                //获取用户输入的信息
                let name = $('#username').val();
                let pwd = $('#userpwd').val();
                //向服务器端发送请求
                $.ajax({
                    // url:'http://localhost:3000/login/check',//get请求
                    url:'http://localhost:3000/login/post',
                    type:'get',
                    data: {
                            username: name,
                            userpwd: pwd
                        },
                    dataType:'json',
                    success:function(result){   //result里是服务器端返回的数据
                        if(result.code===101){
                            $('#name_info').html(result.msg)
                        }else if(result.code===102){
                            $('#pwd_info').html(result.msg)
                        }else{
                            $('info').html(result.msg)
                        }
                    }
                })
            })
        })
    </script>
</body>
</html>

后台服务器:

const express = require('express');
const router = express.Router();


/*
   http://localhost:3000/login/check
*/
router.get('/check',(req, res) => {
    //获取客户端的get请求参数:req.query
    console.log(req.query.username)
    let uname = req.query.username
    let upwd = req.query.userpwd

    //对用户信息进行判断
    if (uname !== 'abc'){
        res.send({
            code: 101,
            msg: '用户名错误'
        })
    }else if (upwd !== '123456'){
        res.send({
            code: 102,
            msg: '密码错误'
        })
    }else{
        res.send({
            code: 1000,
            msg: '合法用户'
        })
    }
})
/*
  http://localhost:3000/login/post
 */
router.post('/post',(req, res) => {
  console.log(req.body.username)
    res.send({
        code: 1000,
        msg: '合法用户'
    })
})
module.exports = router;

 

2、$.get(url,[data],[callback],[type]):实现get请求

 3、$.post(url,[data],[callback],[type]):实现post请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jQuery对ajax的封装</title>
    <script src="../js/jquery-3.4.1.js"></script>
</head>
<body>
    <div>
        <label>用户名:
            <input type="text" id="username">
            <span id="name_info"></span>
        </label>
        <br><br>
        <label>密&nbsp;&nbsp;&nbsp;码:
            <input type="password" id="userpwd">
            <span id="pwd_info"></span>
        </label>
        <br><br>
        <button id="btn_get">get方式登录</button>
        <button id="btn_post">post方式登录</button>
        <br><br>
        <h2 id="info"></h2>
    </div>
    <script>
        $(function(){   //jQuery的入口函数
            $('#btn_get').click(function(){
                //获取用户输入的信息
                let name = $('#username').val();
                let pwd = $('#userpwd').val();
                //向服务器端发送请求
                $.get('http://localhost:3000/login/check',{username:name,userpwd:pwd},function(result){
                        if(result.code===101){
                            $('#name_info').html(result.msg)
                        }else if(result.code === 102){
                            $('#pwd_info').html(result.msg)
                        }else{
                            $('#info').html(result.msg)
                        }
                },'json')//服务器端返回数据的格式
            })
            
            $('#btn_post').click(function(){

                let name = $('#username').val();
                let pwd = $('#userpwd').val();

                $.post('http://localhost:3000/login/post',{username:name,userpwd:pwd},function(result){
                    if(result.code===101){
                            $('#name_info').html(result.msg)
                        }else if(result.code === 102){
                            $('#pwd_info').html(result.msg)
                        }else{
                            $('#info').html(result.msg)
                        }
                },'json')
            })
            
            $('#btn_post').click(function(){

            let name = $('#username').val();
            let pwd = $('#userpwd').val();

            $.post('http://localhost:3000/login/post',{username:name,userpwd:pwd},function(result){
                if(result.code===101){
                        $('#name_info').html(result.msg)
                    }else if(result.code === 102){
                        $('#pwd_info').html(result.msg)
                    }else{
                        $('#info').html(result.msg)
                    }
            },'json')
            })  
        })
    </script>
</body>
</html>

 表单序列化实例:

前端:

新建一个.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单序列化</title>
    <script src="../js/jquery-3.4.1.js"></script>
</head>
<body style="text-align: center;">
    <div>
        <form id="testForm">
            <label>姓名:
                <input type="text" name="username">
            </label>
            <br><br>
            <label>性别:
                <input type="radio" value="男" name="sex">男
                <input type="radio" value="女" name="sex">女
            </label>
            <br><br>
            <label>年龄:
                <input type="number" name="age">
            </label>
            <br><br>
            <label>地址:
                <input type="text" name="address">
            </label>
            <br><br>
            <button type="button" id="btn">提交</button>
        </form>
    </div>
    <script>
        $(function(){
            $('#btn').click(function(){//给按钮绑定事件
                $.ajax({
                    url: 'http://localhost:3000/login/post',
                    type: 'post',
                    data: $('#testForm').serialize(), //表单序列化
                    dataType: 'json',
                    success: function(result){
                        console.log(result)
                    }
                })
            })
        })
    </script>
</body>
</html>

服务器: 

/*
  http://localhost:3000/login/post
 */
router.post('/post',(req, res) => {
  console.log(req.body)
    res.send({
        code: 1000,
        msg: '合法用户'
    })
})

 提交成功后,后台的响应:

 服务器端:

二、Node的数据库编程

Node连接数据库实现对数据库的CRUD(增、删、改、查)操作。

1、操作关系型数据库(MySQL)

(1)安装Mysql模块:npm install mysql

(2)创建配置文件,用来连接数据库

在项目中新建一个文件夹config,然后再改文件夹下新建dbconfig.js文件:

//mysql配置文件
var mysql = {
    host: '127.0.0.1', //数据库服务器的地址
    port: 3306, //数据库使用的端口号
    database: 'dbms', //数据库名
    user: 'root', //mysql数据库的用户名
    password: '123456' //登录数据库的密码
}

module.exports = mysql;

我要操作的数据库表:

 (3)创建操作数据库的接口文件

再routes文件夹下新建option.js文件

const express = require('express');
const router = express.Router();
const mysql = require('mysql');
const  db = require('../config/dbconfig')

/*
   http://localhost:3000/dbms/employee
 */
router.get('/employee',(req, res) => {
    //1.创建数据库连接对象
    let conn = mysql.createConnection(db);

    //2.通过数据库连接对象实现CRUD操作
    //2.1 查询employee表中的所有数据
    conn.query('select * from employee',function (err,results){
        if (err){
            throw  err
        }
        res.send(results)
    })
    //2.2 关闭数据库连接
    conn.end((err)=>{
        console.log(err)
    })
})
module.exports = router;

在app.js里面做配置:

 

启动服务器!

 用Postman测试数据库连接:

转载请注明出处或者链接地址:https://www.qianduange.cn//article/2239.html
评论
发布的文章

jquery.动画和事件

2024-03-03 11:03:13

jQuery位置方法

2024-03-03 11:03:13

jQuery中val()和text()的区别

2024-03-03 11:03:11

jquery实现甘特图时效管理

2024-03-03 11:03:47

django之 echarts数据可视化

2024-03-03 11:03:26

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!