0
このプログラムはFlaskをベースにしています。ユーザーは 'LIKE'ボタンをクリックして投稿のlike_countを1増やすことができます。FlaskプロジェクトでAJAX経由でコールバックを取得できないのはなぜですか?
次のように、 'postid'を '/ like'関数にPOSTできず、コールバックを取得できません。ターミナルはTypeError例外を示しています。
like() missing 1 required positional argument: 'postid'.
like.html:
<a href="#" onclick="like(this, {{ post.post_id }});">LIKE({{ post.like_count }})</a>
<script type="text/javascript">
function like(doc, postid){
$.ajax({
url:'{{ url_for('main.like') }}',
data:{postid:postid},
type:'POST',
success:function(callback){
var temp = 'LIKE' + callback;
$(doc).text(temp)
}
});
}
</script>
views.py:
@main.route('/like', methods=['POST'])
@login_required
def like(postid):
post = Post.query.filter_by(post_id=postid).first()
new_count = post.like_count + 1
post.like_count = new_count +1
db.session.add(post)
db.session.commit()
return Response(new_count)
ありがとうございます! PS、それは "request.form.get"でしょうか? – rogwan