发布评论的问题

发布评论的问题

问题描述:

不能成功发布评论,也没有 alert 的弹窗提示

相关代码:

1
views.py<br>from flask import Blueprint, render_template, request, abort, redirect, url_for, flash, jsonify<br>from flask_login import login_required, current_user<br><br>from models import Question, Answer, AnswerComment, db<br>from qa.forms import WriteQuestionForm, WriteAnswerForm<br><br>qa = Blueprint('qa', __name__,<br>               template_folder='templates',<br>               static_folder='../assets')<br><br><br>@qa.route('/')<br>def index():<br>    """ 首页 回答列表 """<br>    per_page = 20  # 每页数据的大小<br>    page = int(request.args.get('page', 1))<br>    page_data = Answer.query.filter_by(is_valid=True).paginate(<br>        page=page, per_page=per_page)<br>    return render_template('index.html', page_data=page_data)<br><br><br>@qa.route('/follow')<br>def follow():<br>    """ 关注 问题列表 """<br>    per_page = 20  # 每页数据的大小<br>    page = int(request.args.get('page', 1))<br>    page_data = Question.query.filter_by(is_valid=True).paginate(<br>        page=page, per_page=per_page)<br>    return render_template('follow.html', page_data=page_data)<br><br><br>@qa.route('/qa/list')<br>def question_list():<br>    """ 查询问题数据列表<br>    // json<br>    {<br>        'code': 0,<br>        'data': ''<br>    }<br>    """<br>    try:<br>        per_page = 2  # 每页数据的大小<br>        page = int(request.args.get('page', 1))<br>        page_data = Question.query.filter_by(is_valid=True).paginate(<br>            page=page, per_page=per_page)<br>        data = render_template('qa_list.html', page_data=page_data)<br>        return {'code': 0, 'data': data}<br>    except Exception as e:<br>        print(e)<br>        data = ''<br>    return {'code': 1, 'data': ''}<br><br><br>@qa.route('/write', methods=['GET', 'POST'])<br>@login_required<br>def write():<br>    """ 写文章,提问 """<br>    form = WriteQuestionForm()<br>    if form.validate_on_submit():<br>        try:<br>            que_obj = form.save()<br>            if que_obj:<br>                flash('发布问题成功', 'success')<br>                return redirect(url_for('qa.index'))<br>        except Exception as e:<br>            print(e)<br>        flash('发布问题失败,请稍后重试', 'danger')<br>    return render_template('write.html', form=form)<br><br><br>@qa.route('/detail/<int:q_id>', methods=['GET', 'POST'])<br>def detail(q_id):<br>    """ 问题详情 """<br>    # 1. 查询问题信息<br>    question = Question.query.get(q_id)<br>    if not question.is_valid:<br>        abort(404)<br>    # 2. 展示第一条回答信息<br>    answer = question.answer_list.filter_by(is_valid=True).first()<br>    # 添加回答<br>    form = WriteAnswerForm()<br>    if form.validate_on_submit():<br>        try:<br>            if not current_user.is_authenticated:<br>                flash('请先登录', 'danger')<br>                return redirect(url_for('accounts.login'))<br>            form.save(question=question)<br>            flash('回答问题成功', 'success')<br>            return redirect(url_for('qa.detail', q_id=q_id))<br>        except Exception as e:<br>            print(e)<br>    return render_template('detail.html',<br>                           question=question,<br>                           answer=answer,<br>                           form=form)<br><br><br>@qa.route('/comments/<int:answer_id>', methods=['GET', 'POST'])<br>def comments(answer_id):<br>    """ 评论 """<br>    answer = Answer.query.get(answer_id)<br>    if request.method == 'POST':<br>        # 添加评论<br>        try:<br>            if not current_user.is_authenticated:<br>                result = {'code': 1, 'message': '请登录'}<br>                return jsonify(result), 400<br>            # 1. 获取数据<br>            content = request.form.get('content', '')<br>            reply_id = request.form.get('reply_id', None)<br>            # 2. 保存到数据库<br>            question = answer.question<br>            comment_obj = AnswerComment(content=content,<br>                                        user=current_user,<br>                                        answer=answer,<br>                                        reply_id=reply_id,<br>                                        question=question<br>                                        )<br>            db.session.add(comment_obj)<br>            db.session.commit()<br>            return '', 201<br>        except Exception as e:<br>            result = {'code': 1, 'message': '服务器正忙,请稍后重试'}<br>            return jsonify(result), 400<br>    else:<br>        # 获取评论列表<br>        try:<br>            page = int(request.args.get('page', 1))<br>            page_data = answer.comment_list().paginate(page=page, per_page=1)<br>            data = render_template('comments.html', page_data=page_data, answer=answer)<br>            return jsonify({'code': 0, 'data': data, 'meta': {'page': page}}), 200<br>        except Exception as e:<br>            print(e)<br>            return jsonify({'code': 1, 'data': '', 'message': '服务器正忙'}), 500<br><br><br>@qa.route('/comment/love/<int:comment_id>', methods=['POST'])<br># @login_required<br>def comment_love(comment_id):<br>    """ 为评论点赞 """<br>    try:<br>        if not current_user.is_authenticated:<br>            return '', 401<br>        comment_obj = AnswerComment.query.get(comment_id)<br>        comment_obj.love_count += 1<br>        db.session.add(comment_obj)<br>        db.session.commit()<br>    except Exception as e:<br>        print(e)<br>        abort(500)<br>    return '', 201<br>from flask import Blueprint, render_template, request, abort, redirect, url_for, flash, jsonify<br>from flask_login import login_required, current_user<br><br>from models import Question, Answer, AnswerComment, db<br>from qa.forms import WriteQuestionForm, WriteAnswerForm<br><br>qa = Blueprint('qa', __name__,<br>               template_folder='templates',<br>               static_folder='../assets')<br><br><br>@qa.route('/')<br>def index():<br>    """ 首页 回答列表 """<br>    per_page = 20  # 每页数据的大小<br>    page = int(request.args.get('page', 1))<br>    page_data = Answer.query.filter_by(is_valid=True).paginate(<br>        page=page, per_page=per_page)<br>    return render_template('index.html', page_data=page_data)<br><br><br>@qa.route('/follow')<br>def follow():<br>    """ 关注 问题列表 """<br>    per_page = 20  # 每页数据的大小<br>    page = int(request.args.get('page', 1))<br>    page_data = Question.query.filter_by(is_valid=True).paginate(<br>        page=page, per_page=per_page)<br>    return render_template('follow.html', page_data=page_data)<br><br><br>@qa.route('/qa/list')<br>def question_list():<br>    """ 查询问题数据列表<br>    // json<br>    {<br>        'code': 0,<br>        'data': ''<br>    }<br>    """<br>    try:<br>        per_page = 2  # 每页数据的大小<br>        page = int(request.args.get('page', 1))<br>        page_data = Question.query.filter_by(is_valid=True).paginate(<br>            page=page, per_page=per_page)<br>        data = render_template('qa_list.html', page_data=page_data)<br>        return {'code': 0, 'data': data}<br>    except Exception as e:<br>        print(e)<br>        data = ''<br>    return {'code': 1, 'data': ''}<br><br><br>@qa.route('/write', methods=['GET', 'POST'])<br>@login_required<br>def write():<br>    """ 写文章,提问 """<br>    form = WriteQuestionForm()<br>    if form.validate_on_submit():<br>        try:<br>            que_obj = form.save()<br>            if que_obj:<br>                flash('发布问题成功', 'success')<br>                return redirect(url_for('qa.index'))<br>        except Exception as e:<br>            print(e)<br>        flash('发布问题失败,请稍后重试', 'danger')<br>    return render_template('write.html', form=form)<br><br><br>@qa.route('/detail/<int:q_id>', methods=['GET', 'POST'])<br>def detail(q_id):<br>    """ 问题详情 """<br>    # 1. 查询问题信息<br>    question = Question.query.get(q_id)<br>    if not question.is_valid:<br>        abort(404)<br>    # 2. 展示第一条回答信息<br>    answer = question.answer_list.filter_by(is_valid=True).first()<br>    # 添加回答<br>    form = WriteAnswerForm()<br>    if form.validate_on_submit():<br>        try:<br>            if not current_user.is_authenticated:<br>                flash('请先登录', 'danger')<br>                return redirect(url_for('accounts.login'))<br>            form.save(question=question)<br>            flash('回答问题成功', 'success')<br>            return redirect(url_for('qa.detail', q_id=q_id))<br>        except Exception as e:<br>            print(e)<br>    return render_template('detail.html',<br>                           question=question,<br>                           answer=answer,<br>                           form=form)<br><br><br>@qa.route('/comments/<int:answer_id>', methods=['GET', 'POST'])<br>def comments(answer_id):<br>    """ 评论 """<br>    answer = Answer.query.get(answer_id)<br>    if request.method == 'POST':<br>        # 添加评论<br>        try:<br>            if not current_user.is_authenticated:<br>                result = {'code': 1, 'message': '请登录'}<br>                return jsonify(result), 400<br>            # 1. 获取数据<br>            content = request.form.get('content', '')<br>            reply_id = request.form.get('reply_id', None)<br>            # 2. 保存到数据库<br>            question = answer.question<br>            comment_obj = AnswerComment(content=content,<br>                                        user=current_user,<br>                                        answer=answer,<br>                                        reply_id=reply_id,<br>                                        question=question<br>                                        )<br>            db.session.add(comment_obj)<br>            db.session.commit()<br>            return '', 201<br>        except Exception as e:<br>            result = {'code': 1, 'message': '服务器正忙,请稍后重试'}<br>            return jsonify(result), 400<br>    else:<br>        # 获取评论列表<br>        try:<br>            page = int(request.args.get('page', 1))<br>            page_data = answer.comment_list().paginate(page=page, per_page=1)<br>            data = render_template('comments.html', page_data=page_data, answer=answer)<br>            return jsonify({'code': 0, 'data': data, 'meta': {'page': page}}), 200<br>        except Exception as e:<br>            print(e)<br>            return jsonify({'code': 1, 'data': '', 'message': '服务器正忙'}), 500<br><br><br>@qa.route('/comment/love/<int:comment_id>', methods=['POST'])<br># @login_required<br>def comment_love(comment_id):<br>    """ 为评论点赞 """<br>    try:<br>        if not current_user.is_authenticated:<br>            return '', 401<br>        comment_obj = AnswerComment.query.get(comment_id)<br>        comment_obj.love_count += 1<br>        db.session.add(comment_obj)<br>        db.session.commit()<br>    except Exception as e:<br>        print(e)<br>        abort(500)<br>    return '', 201<br><br> detail.html<br> {% extends 'base_layout.html' %}<br>{% from 'macro/answer_comment_item.html' import comment_item_show %}<br>{% block title %}{{ super() }} - 文章详情{% endblock %}<br>{% block header %}<br>    <link rel="stylesheet" href="/assets/style/detail.css"><br>{% endblock %}<br>{% block content %}<br><!-- 问题简述 --><br><div class="layout-question"><br>    <div class="container"><br>        <div class="row"><br>            <div class="col-md-9"><br>                {% include 'components/flash_messages.html' %}<br>                <!-- 问题标签 --><br>                {% if question.tags %}<br>                    <ul class="que-tag-ls"><br>                        {% for tag in question.tags %}<br>                            <li><a href="#">{{ tag.tag_name }}</a></li><br>                        {% endfor %}<br>                    </ul><br>                {% endif %}<br>                <!-- // 问题标签 --><br>                <h3>{{ question.title }}</h3><br>                <div class="show-desc hidden"><br>                    {{ question.desc|d('暂无', True) }}…<br>                    <span class="btn-show-more">显示全部<i class="glyphicon glyphicon-menu-down"></i></span><br>                </div><br>                <div class="show-all "><br>                    {% autoescape false %}<br>                    {{ question.content|safe }}<br>                    {% endautoescape %}<br>                    <span class="btn-show-less">收起<i class="glyphicon glyphicon-menu-up"></i></span><br>                </div><br>                <!-- 菜单栏 --><br>                <div class="qa-footer"><br>                    <div><br>                        <button type="button" class="btn btn-info btn-sm">关 注</button><br>                    </div><br>                    <div><br>                        <button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#addComment"><br>                            写回答<br>                        </button><br>                    </div><br>                    <div class="txt-menu"><i class="glyphicon glyphicon-comment"></i> {{ question.comment_count }}条评论<br>                    </div><br>                    <div class="txt-menu"><i class="glyphicon glyphicon-send"></i>分享</div><br>                    <div class="txt-menu"><i class="glyphicon glyphicon-flag"></i>举报</div><br>                    <div class="txt-menu"></div><br>                    <div class="txt-menu btn-group"><br>                        <i class="glyphicon glyphicon-option-horizontal dropdown-toggle" data-toggle="dropdown"<br>                           aria-haspopup="true" aria-expanded="false"></i><br>                        <ul class="dropdown-menu"><br>                            <li><a href="#">不感兴趣</a></li><br>                        </ul><br>                    </div><br>                </div><br>                <!-- //菜单栏 --><br>            </div><br>            <div class="col-md-3"><br>                <div class="que-stats-box"><br>                    <!-- 关注者 --><br>                    <div><br>                        <span>关注者</span><br>                        <strong>{{ question.follow_count|number_split }}</strong><br>                    </div><br>                    <!-- //关注者 --><br>                    <!-- 被浏览 --><br>                    <div><br>                        <span>被浏览</span><br>                        <strong>{{ question.view_count|number_split }}</strong><br>                    </div><br>                    <!-- //被浏览 --><br>                </div><br>            </div><br>        </div><!-- // row --><br>    </div><br></div><br><!-- // 问题简述 --><br><br><div class="layout-answer"><br>    <div class="container"><br>        <div class="row"><br>            <div class="col-md-9 left-content"><br>                {% block link_more %}<br>                    <a class="link-more" href="#">查看全部 {{ question.answer_count|number_split }} 个回答</a><br>                {% endblock %}<br>                <!-- 回答内容区域 --><br>                {% if answer %}<br>                <div class="answer-content box-wrap"><br>                    <div class="user-info"><br>                        <div class="avater"><br>                            {% if answer.user.avatar %}<br>                                <img src="{{ answer.user.avatar }}" alt="用户头像"><br>                            {% else %}<br>                                <img src="/assets/home/qa/user_head.jpg" alt="用户头像"><br>                            {% endif %}<br>                        </div><br>                        <div class="desc"><br>                            <h4>{{ answer.user.nickname }}</h4><br>                            <p>{{ answer.user.profile.maxim }}</p><br>                        </div><br>                    </div><br>                    <div class="answer-stats">5,550 人赞同了该回答</div><br>                    <div class="answer-txt"><br>                        {% autoescape false %}<br>                        {{ answer.content|safe }}<br>                        {% endautoescape %}<br>                    </div><br>                    <div class="answer-time">发布于{{ answer.created_at }}</div><br>                    <!-- 底部菜单 --><br>                    <div class="qa-footer"><br>                        <div><br>                            <button type="button" class="btn btn-info btn-sm"><br>                                <i class="glyphicon glyphicon-thumbs-up"></i> 赞同 {{ answer.love_count }}</button><br>                            <button type="button" class="btn btn-info btn-sm"><i<br>                                    class="glyphicon glyphicon-thumbs-down"></i></button><br>                        </div><br>                        <div class="txt-menu"><i class="glyphicon glyphicon-comment"></i> 113条评论</div><br>                        <div class="txt-menu"><i class="glyphicon glyphicon-send"></i>分享</div><br>                        <div class="txt-menu"><i class="glyphicon glyphicon-heart"></i>收藏</div><br>                        <div class="txt-menu"><i class="glyphicon glyphicon-flag"></i>举报</div><br>                        <div class="txt-menu"></div><br>                        <div class="txt-menu btn-group"><br>                            <i class="glyphicon glyphicon-option-horizontal dropdown-toggle" data-toggle="dropdown"<br>                               aria-haspopup="true" aria-expanded="false"></i><br>                            <ul class="dropdown-menu"><br>                                <li><a href="#">不感兴趣</a></li><br>                            </ul><br>                        </div><br>                    </div><br>                    <!-- // 底部菜单 --><br>                    <!-- 评论框 --><br>                    <div class="comment-box box-wrap"><br>                        <!-- 统计和菜单 --><br>                        <div class="comment-stats"><br>                            <div class="title">{{ answer.comment_count|d('0', True) }}条评论</div><br>                            <div class="menu"><i class="glyphicon glyphicon-random"></i>切换为时间顺序</div><br>                        </div><br>                        <!-- // 统计和菜单 --><br>                        <!-- 评论列表 --><br>                        <div class="comment-ls" id="id-comment-ls"><br>                            <p>内容正在加载中</p><br>                        </div><br>                        <!-- // 评论列表 --><br>                        <nav aria-label="..."><br>                            <ul class="pager"><br>                                <li class="previous"><a href="javascript:;"><span aria-hidden="true">&larr;</span><br>                                    上一页</a></li><br>                                <li class="next"><a href="javascript:void(0);">下一页 <span<br>                                        aria-hidden="true">&rarr;</span></a></li><br>                            </ul><br>                        </nav><br>                        <!-- 发表评论 --><br>                        <form class="form-horizontal comment-publish"><br>                            <input type="text" name="content" class="form-control" placeholder="写下你的评论..."><br>                            <button type="button" class="btn btn-default btn-grey">发布</button><br>                        </form><br>                        <!-- // 发表评论 --><br>                    </div><br>                    <!-- // 评论框 --><br>                </div><br>                {% else %}<br>                <div class="answer-content box-wrap"><br>                    暂无人回答该问题<br>                </div><br>                {% endif %}<br>                <!-- // 回答内容区域 --><br>                {{ self.link_more() }}<br>            </div><br>            <div class="col-md-3 right-content"><br>                <!-- 关于作者 --><br>                <div class="about-user box-wrap"><br>                    <div class="user-info"><br>                        <div class="avater"><br>                            <img src="/assets/home/qa/user_head.jpg" alt="用户头像"><br>                        </div><br>                        <div class="desc"><br>                            <h4>舒大克</h4><br>                            <p>《互联网营销人实战手记》新书上市; 公众号:舒大克。</p><br>                        </div><br>                    </div><br>                    <!-- 用户统计 --><br>                    <div class="qa-stats"><br>                        <div><br>                            <span>回答</span><br>                            <strong>309</strong><br>                        </div><br>                        <div><br>                            <span>文章</span><br>                            <strong>40</strong><br>                        </div><br>                        <div><br>                            <span>关注者</span><br>                            <strong>85,265</strong><br>                        </div><br>                    </div><br>                    <!-- // 用户统计 --><br>                    <div class="menu-ls"><br>                        <div><br>                            <a href="#" class="btn btn-info btn-sm"><i class="glyphicon glyphicon-plus"></i>关注他</a><br>                        </div><br>                        <div><br>                            <a href="#" class="btn btn-default btn-sm btn-grey"><i<br>                                    class="glyphicon glyphicon-comment"></i>发私信</a><br>                        </div><br>                    </div><br>                </div><br>                <!-- //关于作者 --><br>                <!-- 相关问题 --><br>                <div class="rel-ques box-wrap"><br>                    <div class="title">相关问题</div><br>                    <div class="rel-que-ls"><br>                        <div><br>                            <a href="#">疫情过后,你会报复性消费吗?</a><span>30 个回答</span><br>                        </div><br>                        <div><br>                            <a href="#">疫情过后你最想去哪?和谁一起?</a><span>19 个回答</span><br>                        </div><br>                        <div><br>                            <a href="#">如果能熬过这波疫情,你最想做的事情是什么?</a><span>21 个回答</span><br>                        </div><br>                        <div><br>                            <a href="#">请问这次疫情可能有积极影响吗?</a><span>9 个回答</span><br>                        </div><br>                        <div><br>                            <a href="#">如果疫情结束了你最想做什么?</a><span>3 个回答</span><br>                        </div><br>                    </div><br>                </div><br>                <!-- //相关问题 --><br>                <!-- 右侧页脚 --><br>                <div class="right-footer"><br>                    <a href="#">用户指南</a><span class="dot">·</span><br>                    <a href="#">用户使用协议</a><span class="dot">·</span><br>                    <a href="#">用户隐私权政策</a><br>                    <br/><br>                    <a href="#">侵权举报</a><span class="dot">·</span><br>                    <a href="#">网上有害信息举报专区</a><br>                    <br/><br>                    <a href="#">京ICP证 第10001000号</a><br>                    <br/><br>                    <a href="#">京ICP备 第10001000号</a><br>                    <br/><br>                    <a href="#">联系我们 &copy; 2020在线问答</a><br>                </div><br>                <!-- //右侧页脚 --><br>            </div><br>        </div><br>    </div><br></div><br><div class="layout-footer"><br>    <a href="#" data-toggle="tooltip" title="意见反馈"><i class="glyphicon glyphicon-briefcase"></i></a><br>    <a href="#" data-toggle="tooltip" title="回到顶部"><i class="glyphicon glyphicon-arrow-up"></i></a><br></div><br><!-- 写回答,对话框 --><br><div class="modal fade" id="addComment" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"><br>    <form class="form-horizontal modal-dialog" role="document"<br>          method="post" action="{{ url_for('qa.detail', q_id=question.id) }}"><br>        {{ form.csrf_token }}<br>        <div class="modal-content"><br>            <div class="modal-header"><br>                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span<br>                        aria-hidden="true">&times;</span></button><br>                <h4 class="modal-title" id="myModalLabel">写回答</h4><br>            </div><br>            <div class="modal-body"><br>                <div class="form-group"><br>                    {{ form.content }}<br>                    {{ ckeditor.load() }}<br>                    {{ ckeditor.config(name='content') }}<br>                </div><br>            </div><br>            <div class="modal-footer"><br>                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button><br>                <button type="submit" class="btn btn-primary">提交</button><br>            </div><br>        </div><br>    </form><br></div><br><!-- // 写回答,对话框 --><br>{% endblock %}<br>{% block js_inline %}<br>    // 点击,查看更多,把详细的那个p标签展示出来,把自己隐藏<br>    $('.show-desc').click(function () {<br>    $(this).addClass('hidden');<br>    $(this).next().removeClass('hidden')<br>    })<br>    $('.show-all').click(function () {<br>    $(this).addClass('hidden');<br>    $(this).prev().removeClass('hidden')<br>    })<br>{% endblock %}<br>{% block js_extra %}<br>    <script><br>        $(function () {<br>            /**<br>             * 绑定评论的表单提交对象<br>             * @param html<br>             */<br>            function bindCommentPublishEvent(html) {<br>                let form = $('.comment-publish', html);<br>                $('.btn', form).click(function () {<br>                    let _form = $(this).parent();<br>                    let content = $('input[name=content]', _form);<br>                    let data = _form.serialize();<br>                    $.ajax({<br>                        url: '{{ url_for("qa.comments", answer_id=answer.id) }}',<br>                        method: 'post',<br>                        data: data,<br>                        complete: function (res) {<br>                            console.log('res:', res)<br>                            if (res.status === 201) {<br>                                window.alert('评论成功');<br>                                content.val('')<br>                            } else if (res.status === 400) {<br>                                window.alert(res.responseJSON.message);<br>                            } else {<br>                                window.alert('请求失败, 请稍后重试');<br>                            }<br>                        }<br>                    })<br>                })<br>            }<br><br><br>            // 评论回复按钮事件<br>            function bindReplyEvent(html) {<br>                $('.link-reply', html).click(function () {<br>                    let _id = $(this).data('id');<br>                    let _form = $('#id-comment-' + _id);<br>                    _form.removeClass('hidden');<br>                });<br>            }<br><br>            /**<br>             * 绑定点赞事件<br>             * @param html<br>             */<br>            function bindCommentLoveEvent(html) {<br>                $(".link-love", html).click(function () {<br>                    let _this = $(this);<br>                    let url = $(this).data('url');<br>                    $.ajax({<br>                        url: url,<br>                        method: 'post',<br>                        data: {},<br>                        complete: function (res) {<br>                            console.log('res:', res)<br>                            if (res.status === 201) {<br>                                window.alert('点赞成功');<br>                                let count = $('span', _this).text();<br>                                count = parseInt(count) + 1;<br>                                $('span', _this).text(count)<br>                            } else if (res.status === 401) {<br>                                window.alert('请登录');<br>                                window.location.href = '{{ url_for("accounts.login") }}';<br>                            } else {<br>                                window.alert('服务器正忙')<br>                            }<br>                        }<br>                    })<br>                })<br>            }<br><br><br>            // 评论列表的异步加载<br>            let coment_ls = $('#id-comment-ls');<br>            let page = 1;<br><br>            function loadPageData(page) {<br>                page = page || 1<br>                $.ajax({<br>                    url: '{{ url_for("qa.comments", answer_id=answer.id) }}',<br>                    method: 'get',<br>                    data: {<br>                        page: page<br>                    },<br>                    complete: function (res) {<br>                        if (res.status === 200) {<br>                            let result = res.responseJSON;<br>                            if (result.code === 0) {<br>                                let html = $(result.data);<br>                                // 绑定回复事件<br>                                bindReplyEvent(html);<br>                                bindCommentPublishEvent(html);<br>                                // 绑定评论点赞事件<br>                                bindCommentLoveEvent(html);<br>                                coment_ls.empty().append(html)<br>                            } else {<br><br>                            }<br>                        } else {<br>                            window.alert('服务器正忙')<br>                        }<br>                    }<br>                })<br>            }<br><br>            $('.pager .previous').click(function () {<br>                page = page - 1;<br>                loadPageData(page);<br>            })<br>            $('.pager .next').click(function () {<br>                page = page + 1;<br>                loadPageData(page);<br>            });<br>            // 默认加载第一页数据<br>            loadPageData(page);<br>        })<br>    </script><br>{% endblock %}<br><br>​<br>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
时间, 2021-04-25 11:41:32

同学,你好!发布评论功能的bindCommentPublishEvent()函数只在异步加载评论时调用了,因此点击图二位置的评论是没有办法发布的

图一:

http://img1.sycdn.imooc.com//climg/6084e3a9091a194609150660.jpg

图二:

http://img1.sycdn.imooc.com//climg/6084e3c90965f0c808440502.jpg

解决方法:需要再调用一下发布评论功能函数即可

http://img1.sycdn.imooc.com//climg/6084e4ce09fee6cd07760574.jpg

http://img1.sycdn.imooc.com//climg/6084e44c09aab10007500461.jpg


祝学习愉快!

  • 提问者 MaxLu #1

    添加之后还是不能正常运行,查看网页源代码的时候发现 {% block js_extra %} 下的 js 代码没有运行到, follow.html 里面也存在相同的问题

    2021-04-26 17:59:59
  • 时间, 回复 提问者 MaxLu #2

    同学,你好!同学可以看下js代码所在的block对应的名字与继承的父模板中是否一致。同学可以参照课程源码,对比相应的代码看是否写错了

    祝学习愉快!

    2021-04-26 19:01:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码