我不是要求搭便车,但我似乎根本不知道怎么做。
我最近的帖子是关于在后台运行工作,但我没有运气这样做。 所以......
run
即可触发作业。return HttpResponseRedirect(....)
。因此,当页面被重定向时(需要30秒才能发出“GO AHEAD”信号)....我想向用户展示像Ajax加载的GIF图片。
我没有实现Ajax,系统太复杂,无法入侵。
我们可以用javascript实际执行此操作吗?问题是它还没有加载任何页面,因为它需要heavy_work
才能完成。
result = heavy_work(....)
.... more code ....
return HttpResponseRedirect(go to this page...)
谢谢!
答案 0 :(得分:0)
为什么不使用常规的ajax调用?
<强>的javascript 强>
function do_heavy_lifting(argument) {
$.ajax({
type: 'GET',
data: { argument: argument }, // if necesarry
url: '/heavy_lifting_django_view_url/',
beforeSend: function() {
$('#loading').show();
},
success: function(data) {
...redirect...
},
cache: false
});
}
<强> HTML 强>
<div id="loading" style="display:none">
<button onclick="do_heavy_lifting('argument');">
答案 1 :(得分:0)
使用AJAX很简单:只需在实际的ajax调用之前显示'loader'动画gif ,并在'on_success'响应回调中隐藏加载器gif。
Bu没有AJAX - 到目前为止唯一的解决方案是使用迭代器 - 看看这个:How to stream an HttpResponse with Django