Python 使用Ajax/JQuery的Flask-Like/inspect按钮未成功

Python 使用Ajax/JQuery的Flask-Like/inspect按钮未成功,python,jquery,ajax,flask,Python,Jquery,Ajax,Flask,我正在开发一个用于学习的web应用程序,并尝试边学习边学习。我尝试实现的功能是一个没有页面刷新的like/discustom按钮。我遵循了一些指南,并试图尽可能最好地理解Ajax。但是,单击like按钮后,页面将重定向到带有“Success”的空白页面。我知道我遗漏了一些非常基本的东西,但几个小时后,我发现自己无法解决这个问题: 查看 @app.route('/like/<int:album_id>/<action>') def like_action(album_id,

我正在开发一个用于学习的web应用程序,并尝试边学习边学习。我尝试实现的功能是一个没有页面刷新的like/discustom按钮。我遵循了一些指南,并试图尽可能最好地理解Ajax。但是,单击like按钮后,页面将重定向到带有“Success”的空白页面。我知道我遗漏了一些非常基本的东西,但几个小时后,我发现自己无法解决这个问题:

查看

@app.route('/like/<int:album_id>/<action>')
def like_action(album_id, action):
    album = Album.query.filter_by(id=album_id).first_or_404()
    likeunlike = action
    if likeunlike == 'like':
        current_user.like_album(album)
        db.session.commit()
        return "success", 200
    if likeunlike == 'unlike':
        current_user.unlike_album(album)
        db.session.commit()
        return "success", 200

我认为你必须停止像链接那样的行为,而不是像链接那样的行为。你可以使用
event.preventDefault()

更多信息请点击此处:

谢谢-这让我离你更近了。单击后,页面不会重新加载,并且会成功发布。不幸的是,新按钮没有显示,例如,单击“喜欢”时,“喜欢”按钮将消失,但“不喜欢”按钮不会显示
{% if current_user.is_authenticated %}
        {% if current_user.has_liked_album(album) %}
                <a class="like-button unlike" id="unlike_{{ album.id }}" href="{{ url_for('like_action', album_id=album.id, action='unlike') }}"><i class="fas fa-heart wax"></i></a>
        {% else %}
                <a class="like-button like" id="like_{{ album.id }}" href="{{ url_for('like_action', album_id=album.id, action='like') }}"><i class="far fa-heart wax"></i></a>
        {% endif %}
{% endif %}
$(document).ready(function () {

        // like and unlike click
        $(".like, .unlike").click(function () {
            var id = this.id;   // Getting Button id
            var split_id = id.split("_");

            var text = split_id[0];
            var album_id1 = split_id[1];  // albumid



            // AJAX Request
            $.ajax({
                url: '/like',
                type: 'post',
                data: { album_id: album_id1, likeunlike: text },
                dataType: 'json',
                success: function (data) {
                    var like = data['like'];
                    var unlike = data['unlike'];

                    $("#like_" + album_id).json(data);        // setting likes
                    $("#unlike_" + album_id).json(data);    // setting unlikes


                }

            });

        });

    });