Flask 页面无刷新评论

  • Post author:
  • Post category:其他


在多个表单的情况下实现页面不刷新评论与回复

Html代码部分

#评论的表单 (注意在这个表单之外是还有其他表单存在的,如Flask的表单类)
<form action="" method="post">
  <textarea rows="3" cols="20" class="rtext" placeholder="请输入回复内容..." style="width: 60%;"></textarea><br>
  <input type="submit" class="mysubmit" value="回复"/>
  <input type="reset" name="reset" class="reset" value="清空"/>
</form>

JS代码部分

#在jq代码之前加上这个
var $SCRIPT_ROOT = {{request.script_root|tojson|safe}};
$('.mysubmit').click(function () {
  var data = {
  'b_user': 'userid',
  're_text': 'usercontext',
  };
  $.ajax({
  type: 'POST',
  url: $SCRIPT_ROOT,
  data: data,
  dataType: 'json',
  });
  {#清空输入框里面的消息#}
  $('.reset').trigger('click');
  alert('回复成功,请点击详情查看!');
  return false;
  {#必须加上上面的这个,不然会报token的错误#}
});

Python views视图代码部分

@main.route('/',methods=['GET','POST'])
def index():
    #判断值是否为空,是测跳过,目的是第一次进入时为空值,需要过滤
    if request.form.get('b_user') is None:
        pass
    else:
        #在这里必须使用form方法接收,如果使用args则会错误
        #args存储当前所有的GET请求的数据
        b_user = request.form.get('b_user')
        re_text = request.form.get('re_text')
        #这里为存数据库的操作
        reposts = RePosts()
        reposts.rid = current_user.id
        reposts.bid = b_user_id
        reposts.content = re_text
        db.session.add(reposts)
        db.session.commit()
        # print(b_user_id,re_text)
    return render_template('main/index_four.html')



版权声明:本文为haeasringnar原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。