0
私は自分のフォームでsubmitを押すとページをリフレッシュするときにajaxコールを行いたいと思う。 私は問題を抱えています。なぜなら、新しいコメントを追加すると、手動で更新するときにページを更新するだけですが、私がそれを行うと、別の投稿を繰り返し投稿するからです。ページをリフレッシュするAjax Flask Webアプリケーション
<div class="form-group">
<form method="POST" action="/create_politician_comment/{{politician.idPolitician}}/{{g.user.uid}}">
{{ form2.hidden_tag() }}
<label for="comment">Comment:</label>
<textarea class="form-control" name="body" rows="5" id="comment" type="text"></textarea>
<a class="btn btn-default btn-sm" role="button" onClick="document.location.reload(true)" type="submit" > {{ form2.submit }} </a>
</form>
</div>
そして、ここに私のcreate_politician_comment機能があります:onclickのリロードありえないが働いて、なぜ
@politicians_blueprint.route("/create_politician_comment/<idPol>/<userId>", methods=["GET", "POST"])
@login_required
def create_politician_comment(idPol = 1, userId = 1):
politician = Politic.query.filter_by(idPolitician=idPol).first()
form2 = PostForm()
form2.idPolitician = idPol
form2.idUser = userId
form2.timestamp = datetime.datetime.now()
if request.method == "POST":
users=db.session.query(User).all()
politicianComments=db.session.query(PoliticianComment).filter_by(idPolitician=idPol).all()
flash(form2.errors)
flash(form2.validate())
newComment = PoliticianComment(form2.body.data, form2.idPolitician, form2.idUser, form2.timestamp)
db.session.add(newComment)
db.session.commit()
flash('New comment was successfully posted', 'info')
return render_template("politician.html", datetime=datetime, users=users, politicianComments=politicianComments, role_query=PoliticianRole.query, dom_query=Domain.query,org_query=Organization.query, idPolitician=idPol, politician=politician,form2=form2)
elif request.method == "GET":
return form2
誰でも知っていますか?私はこれをajaxコールを使用して行う必要がありますか?