我正在用jquery做一个AJAX请求:
$.get('/Stuff.PHP',function (data) { $('#own').html(data); });
当这个数据加载时,我想在页面顶部显示一个小文本(只是说“正在加载……”),而不会阻止它.
这个怎么做?
3nigma是在正确的轨道上,但至少在一般情况下,有一个细节错误.
使用ajaxSetup只提供默认值,如果稍后你做了一些ajax调用,指定自己的beforeSend回调(即你需要设置一些特定的头文件)或者完成(你想要同时处理成功和错误),他们将覆盖那些ajaxSetup和你的加载指标会破裂.
相反,使用Global Ajax Events(more about ajax events)
$(document).ajaxSend(function(e,jqXHR){ //show the loading div here }); $(document).ajaxComplete(function(e,jqXHR){ //remove the div here });
这是一个更通用的解决方案,即使其他代码也想要设置一些全局或本地的beforeSend / complete处理程序或调用ajaxSetup,也不会破坏.