我正在使用ajax创建删除功能。重定向无法正常工作。
js
function deleteEntry(entry) {
var id = $entry.data('id')
$.ajax({
url:'/blog/delete/' + id,
method: 'DELETE',
beforeSend: function(xhr) {
xhr.setRequestHeader('X-CSRFToken', csrf_token)
}
})
}
}
views.py
def delete_entry(request, pk):
if request.method == 'DELETE':
entry = get_object_or_404(Entry, id=pk)
entry.delete()
return HttpResponseRedirect(reverse_lazy('blog:list_entry'))
执行此功能时命令行如下
[13/Sep/2018 16:06:02] "DELETE /blog/delete/14 HTTP/1.1" 302 0
[13/Sep/2018 16:06:02] "DELETE /blog/list HTTP/1.1" 200 9878
[13/Sep/2018 16:06:02] "GET / HTTP/1.1" 200 10605
我想使页面重定向到blog/list
,但是页面重定向到/
。
我不想为此视图创建模板,而且我也在考虑做诸如确认窗口之类的操作,因此我想使用js调用该函数。
我该如何解决?
答案 0 :(得分:0)
$.ajax({
url:'/blog/delete/' + id,
method: 'DELETE',
beforeSend: function(xhr) {
xhr.setRequestHeader('X-CSRFToken', csrf_token)
},
success: function () {
window.location.href = {% url 'the_get_url_you_wanted_to_redirect_to' %}
}
})
请注意,这是一个重复的问题,在stackoverflow中已问了很多遍,因此最好在发布新问题之前先进行搜索。 :)祝你好运!