问题描述
|
我不是编程新手,但是在Javascript / Web开发中有点生锈。我正在使用Rails构建应用程序,并且我们要进行一些耗时的操作,以期向用户提供反馈。基本上,我想使用AJAX做这样的事情:
[用户单击“确定”或“继续”)
[可选确认框]
操作发生时,显示状态消息“正在工作...”
当操作完成并且从服务器返回数据时,状态消息更改为\“ Done!\”,并呈现结果或发生一些回调。
自从我进行Web开发以来已经有一段时间了,如何实现这样的目标的简单示例将非常有帮助。谢谢。
解决方法
$(window).ajaxStart(function() {
$(\"#loader\").show();
}).ajaxStop(function() {
$(\"#loader\").hide();
});
只是全局绑定即可启动和停止。本示例显示和隐藏加载程序div。通常,您有一个带有微调框的div,让用户知道它正在加载。
微调框的消失应该足够了,一条“完成”的消息就太过分了。
, $.ajax({
type: \"POST\",url: \"some.php\",data: \"name=John&location=Boston\",beforeSend(jqXHR,settings) {
$(body).append(\'<div id=\"overlayStatus\">Working...</div>\');
},complete(jqXHR,textStatus) {
$(\'#overlayStatus\').html(\"Ajax call completed: \" + textStatus);
setTimeout(function(){
$(\'#overlayStatus\').hide();
},1000);
}
});
, 您是在烘焙自己的AJAX框架,还是在使用内置的in Rails?如果是稍后的情况,请查看
linkt_to
的选项(特别是:: update一)
http://edgeguides.rubyonrails.org/ajax_on_rails.html