Django;确认窗口后如何重定向

时间:2018-08-23 14:15:45

标签: javascript python jquery ajax django

我正在研究Django项目。我正在创建删除功能,并且想知道如何使用ajax重定向到页面。

我目前的views.py是这个。

def delete_post(request, pk):
    if request.method == 'DELETE':
        post = get_object_or_404(Post, id=pk)
        post.delete()
        #redirect to a page

js

function deletePost(post) {

    if (confirm("Are you sure?")) {
        var $post = $(post)

        var id = $post.data('id')
        $.ajax({
            url:'/posts/delete/' + id,
            method: 'DELETE',
            beforeSend: function(xhr) {
                xhr.setRequestHeader('X-CSRFToken', csrf_token)
        }
    })
}

}

似乎HttpResponseRedirect不适用于ajax。有人可以给我提示吗?或者如果可能的话,我想知道不用ajax的方法。

1 个答案:

答案 0 :(得分:0)

将ajax调用更改为:

   $.ajax({
        url:'/posts/delete/' + id,
        method: 'DELETE',
        beforeSend: function(xhr) {
            xhr.setRequestHeader('X-CSRFToken', csrf_token)
        },
        success: function(result){
            location.href = "http://www.example.com/ThankYou.html"
        }
    })