评论模拟实现
效果展示:
代码实现:
<!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>Document</title>
<link rel="stylesheet" href="000/bootstrap/bootstrap-3.4.1-dist/css/bootstrap.min.css">
<script src="000/bootstrap/bootstrap-3.4.1-dist/js/jquery-1.10.2.min.js"></script>
<script src="000/bootstrap/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
<style>
* {
margin: 0;
padding: 0;
}
body {
padding: 20px;
}
#datebox {
background-color: rgb(7, 163, 163);
}
#namebox {
background-color: bisque;
}
</style>
</head>
<body>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">发表评论</h3>
</div>
<!-- 表单数据 -->
<form class="panel-body" id="formbox">
<div>评论人:</div>
<input type="text" class="form-control" name="username">
<div>评论内容:</div>
<textarea class="form-control" name="content"></textarea>
<!-- 发表评论 -->
<button type="submit" class="btn btn-primary">发表评论</button>
</form>
</div>
<!-- 评论区 -->
<ul class="list-group" id="conbox">
<li class="list-group-item">
<span class="badge" id="datebox">评论时间:</span><span class="badge" id="namebox">评论人:</span><span
id="contentbox">评论内容</span>
</li>
</ul>
<script>
// 拿到cmtlist函数
function getcmtlist() {
$.get('http://www.liulongbin.top:3006/api/cmtlist', function (res) {
if (res.status != 200) {
return alert('数据展示失败');
}
//将拿到数据渲染到ui界面
var arr = [];
$.each(res.data, function (i, item) {
arr.push('<li class="list-group-item"><span class="badge" id="datebox">评论时间:' +
item.time + '</span><span class="badge" id="namebox">评论人:' +
item.username + '</span><span id="contentbox">' + item.content + '</span></li>');
});
$("#conbox").empty().append(arr.join(''));
});
}
$(function () {
//评论展示
getcmtlist();
//发表评论
$("#formbox").submit(function (res) {
//阻止默认提交
res.preventDefault();
var data = $(this).serialize();
//发送post请求
$.post('http://www.liulongbin.top:3006/api/addcmt', data, function (res) {
if(res.status != 201) return alert("评论失败");
//添加成功后将input框置为空
$("#formbox")[0].reset();//注意这里是将一个$对象转化一个原生的dom对象
});
getcmtlist();
});
//删除评论
$.get('http://www.liulongbin.top:3006/api/delcmts',function (params) {
console.log("123");
});
})
</script>
</body>
</html>
注意事项:
1,关于使用ajax进行数据提交,注意,要阻止表单的默认提交。
//阻止默认提交
res.preventDefault();
2,serialize()函数的使用。
serialize()函数可以将表单数据转化为如下的表示方法:
var data = $(this).serialize();
console.log(data);
展示显示:
3,关于reset()函数的使用
reset()函数是dom里面的函数,因此想要使用reset()函数,就必须将其它类型的转化为dom。