原生js案例----增、删、改、查、排序功能

前端

css

*{
	margin: 0;
	padding: 0;
	outline: none;
	flex-direction: row;
}

html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<!-- <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=0"> -->
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<link rel="stylesheet" type="text/css" href="css/new_file.css"/>
		<script src="js/jquery-3.2.1.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<input type="text" id="name" placeholder="请输入姓名">
		<input type="text" id="age" placeholder="请输入年龄">
		<button type="button" id="add">添加</button>
		<button type="button" id="qdxg">确定修改</button>
		<button type="button" id="px">排序</button>
		<button type="button" id="alldel">全部删除</button>
		<button type="button" id="ss">搜索</button><br>
		<table border="1" cellspacing="0" cellpadding="0" width="">
			<thead>
				<tr>
					<th>姓名</th>
					<th>年龄</th>
					<th>操作</th>
				</tr>
			</thead>
			<tbody>
				<!-- <tr>
					<td>${arr[i].name}</td>
					<td>${arr[i].age}</td>		
					<td>
						<button type="button" onclick=del('${arr[i]._id}')>删除</button>
						<button type="button" onclick=del('${arr[i]._id}')>修改</button>
					</td>		
				</tr> -->
			</tbody>
		</table>
	</body>
	<script src="js/new_file.js" type="text/javascript" charset="utf-8"></script>
	<script src="layer/layer.js" type="text/javascript" charset="utf-8"></script>
</html>

js

show()
$('#add').click(function(){
    if ($('#name').val()==''&&$('#age').val()=='') {
        alert('不能为空')
    } else{
        var obj = {
            name:$('#name').val(),
            age:$('#age').val()
        }
        $.ajax({
            type:'post',
            url:'/tabData',
            data:{
                name:$('#name').val()
            },
            success:function(res){
                if(res.length == 0){
                    $.ajax({
                        type:'post',
                        url:'/addPost',
                        data:obj,
                        success:function(res){
                            show()
                        }
                    })
                }else{
                    alert('数据已存在') 
                } 
            }
        })
    }
})
function show(){
    $.ajax({
        type:'get',
        url:'/getContent',
        success:function(res){
            showDom(res)
        }
    })
}
//渲染2
function showDom (arr) {
    var str = ''
for(var i=0; i<arr.length; i++){
    str +=`
    <tr>
        <td>${arr[i].name}</td>
        <td>${arr[i].age}</td>		
        <td>
            <button type="button" onclick=del('${arr[i]._id}')>删除</button>
            <button type="button" onclick=xg(${JSON.stringify(arr[i])})>修改</button>
        </td>		
    </tr>
`}
$('tbody').html(str)
}
//删除
function del(myid){
    $.ajax({
        type:'post',
        url:'/delePost',
        data:{
            id:myid
        },
        success:function(res){
           show()
        }
    });
}
//修改
var p
function xg(obj){
    p = obj._id
    $('#name').val(obj.name)
    $('#age').val(obj.age)
}
//确定修改
$('#qdxg').click(function(){
    var obj = {
        name:$('#name').val(),
        age:$('#age').val(),
        id:p
    } 
    $.ajax({
        type:'post',
        url:'/updatePost',
        data:obj,
        success:function(res){
           show()
        }
    });
})
//搜索
$('#ss').click(function(){
    $.ajax({
        type:'post',
        url:'/tabData',
        data:{
            name:$('#name').val()
        },
        success:function(res){
           showDom(res)
        }
    });
})
//排序
$('#px').click(function(){
    $.ajax({
        type:'post',
        url:'/sortPost',
        data:{
           age:1
        },
        success:function(res){
            showDom(res)
        }
    });
})
//全部删除
$('#alldel').click(function(){
    $.ajax({
        type:'post',
        data:"",
        url:'/alldelPost',
        success:function(res){
           show()
        }
    });
})

后端

// 写录入系统的接口
var express = require('express')
var apps = express()
// 引入mongoose 
var mongoose = require('mongoose')
mongoose.connect("mongodb://127.0.0.1:27017/myFiult",{ useUnifiedTopology: true, useNewUrlParser: true })
var con=mongoose.connection;
//判断是否连接成功
con.on("open",function(){
    console.log('YES')
})
con.on("error",function(){
  console.log('NO')
})
//创建骨架
const app= new mongoose.Schema({
  "name":String,
  "age":Number,
  "id":String
})
//生成数据模型
const appX=mongoose.model('shoppingList1',app)
// 解析数据
var bodyParser = require('body-parser')
var urlencodedParser = bodyParser.urlencoded({extended: false})
//cors跨域
apps.use('*', function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', '*');
    res.header('Access-Control-Allow-Headers', '*');
    next();
});
apps.get('/', function(req, res, next) {
    res.sendFile(__dirname+'/index.html');
});
//添加
apps.post('/addPost', urlencodedParser, function(req, res) {
  var obj = req.body;
  appX.create(obj, function(err){
    res.send('OK')
  })
});
//渲染
apps.get('/getContent', urlencodedParser, function(req, res) {
  appX.find({}, function(err, data){
    res.send(data)
  })
});
//删除
apps.post('/delePost', urlencodedParser, function(req, res) {
  var obj = req.body;
  appX.deleteMany({_id:obj.id}, function(err, data){
      res.send(data)
  })
});
//修改
apps.post('/updatePost', urlencodedParser, function(req, res) {
  var obj = req.body;
  console.log(obj)
  appX.update({_id:obj.id},{$set: obj}, function(err, data){
    res.send(data)
  })
});
//分页
apps.post('/fyPost', urlencodedParser, function(req, res) { 
  var obj = req.body;
  appX.find({}, {}, {limit:obj.limit,skip:obj.skip}, function(err, data){
    res.send(data)
  })
});
//查找
apps.post('/tabData', urlencodedParser, function(req, res) {
  var obj = req.body;
  appX.find(obj, function(err, data){
    res.send(data)
  })
});
//全部删除
apps.post('/alldelPost', urlencodedParser, function(req, res) {
  appX.deleteMany({}, function(err, data){
      res.send(data)
  })
});
//排序
apps.post('/sortPost', urlencodedParser, function(req, res) {
  var obj = req.body;
  var key = Object.keys(obj)[0];
  obj[key] ? obj[key] = obj[key] - 0 : "";
  appX.find({}, function(err, data){
    res.send(data)
  }).sort(obj)
})
module.exports = apps;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值