评论列表案例,通过Ajax向服务器发送请求

目录

实现功能介绍:

1、引入文件

2、快速实现html代码

3、js代码


实现功能介绍:

1、通过bootstrap快速制作html面板

2、通过Ajax向服务器发送参数

3、将获取的参数通过循环的形式插入到数组中

4、将数组中的数据渲染到UI结构中

5、点击提交按钮时,再重新获取数据并渲染

6、点击回车,也能提交评论

展示:

1、引入文件

bootstrap文件

jquery文件

自己写的js文件

    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <script src="jquery.min.js"></script>
    <script src="comment.js"></script>

2、快速实现html代码

提示:当你导入bootstrap之后下载插件    Bootstrap 3 Snippets

输入     bs3-panel   就会有提示,选择其中的primary就能快速生成框架

生成结构如下所示:

 

 其他结构类似:

 <style>
        .input-group {
            margin-bottom: 20px;
        }
        
        #time {
            background-color: #f0ad4e;
        }
        
        #comment {
            background-color: #5bc04e;
        }
    </style>
</head>

<body style="padding:30px">
    <div class="panel panel-primary">
        <div class="panel-heading">
            <h3 class="panel-title">发表评论</h3>
        </div>
        <form class="panel-body iptform">
            <div class="input-group">
                <div class="input-group-addon "> 评 论 人 : </div>
                <input type="text" class="form-control iptpeople" id="exampleInputAmount" placeholder="请输入您的名字~" name="username">
            </div>
            <div class="input-group">
                <div class="input-group-addon">评论内容:</div>
                <textarea style="resize:none" name="content" id="input" class="form-control iptcomment" rows="3" required="required" placeholder="请输入您的评论~"></textarea>
            </div>
            <button type="submit" class="btn btn-primary iptbutton">发表评论</button>
        </form>

        <ul class="list-group" style="color: rgb(176, 26, 199)">
            <li class="list-group-item">
                <span class="badge" id="time">评论时间:</span>
                <span class="badge" id="comment">评论人:</span>
            </li>
        </ul>

    </div>

 结果展示:

3、js代码

代码中的注释很多,我认为足够详细了,如果有问题,欢迎评论~

// 声明一个函数,通过get方法向服务器发送请求,并将赶回的数据渲染到页面上
function getComment() {
    $.ajax({
        method: 'get',
        url: 'http://www.liulongbin.top:3006/api/cmtlist',
        success: function(res) {
            var rows = [];
            $.each(res.data, function(i, item) {
                    // 没遍历一次往数组中push一次    往里面插入当前循环的数据
                    rows.push(' <li class="list-group-item">' + item.content + '<span class="badge" id="time">评论时间:' + item.time + '</span><span class="badge" id="comment">评论人:' + item.username + '</span></li>');
                })
                // 往ul中插入 rows数组,每个数据之间用空格隔开
            $(".list-group").empty().append(rows.join(''));
        }
    });
    $(".iptpeople").val("周百万");
}
getComment();
// 发表评论   给表单绑定submit事件  type="submit"才行
$(function() {
    $(".iptform").on('submit', function(e) {
        e.preventDefault();
        // 如果标签没有name属性就获取不到数据
        var data = $(this).serialize();
        // 将获取的数据通过post方法发送到服务器中
        $.post('http://www.liulongbin.top:3006/api/addcmt', data, function(res) {
            console.log(res);
            // 如果发送成功就重新获取数据渲染一下   如果失败就停止并提醒用户
            if (res.status !== 201) {
                return alert("发送失败!");
            }
            getComment();
            // 清空一下输入框   将jquery元素转化为原生的再使用reset方法
            $(".iptform")[0].reset();
            $(".iptpeople").val("周百万");
        });
    })




    // 当在评论内容框中点击回车,也执行发表评论
    $(".iptcomment").on('keypress', function(e) {
        if (e.keyCode == 13) {
            // 通过编码的方式,执行form的submit事件
            $(".iptform").submit();
        }
    })
})

服务器网址来自于黑马程序员,黑马很好欢迎去学习~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周百万.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值