如果我的'创建'操作需要一段时间才能加载(由于进行API调用然后进行计算)这个任务是什么,这是向用户显示“加载屏幕”的最佳方式在后台执行?
答案 0 :(得分:7)
编写一些AJAX魔法;)激活时显示加载图像,并在AJAX调用完成后隐藏它。如果你不想使用AJAX,嗯,你可以查看:
http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan/
那里还有一颗宝石,有点那样做。 但我对此没有任何经验。 我会选择AJAX方法=)
编辑:
是的,您应该在jQuery中使用AJAX调用create action。你可以这样做:
function create() {
$('#loading_image').show();
$.ajax({
type: 'POST',
url: /* URL to your create action: e.g. '/user/create/' */,
data: $('form').serialize(),
success: createSuccessHandler,
error: createErrorHandler,
complete: hideLoadingImage
});
}
function createSuccessHandler(data) {
alert("User created!")
}
function createErrorHandler(data) {
alert("It failed, ffs!")
}
function hideLoadingImage() {
$('#loading_image').hide()
}