使用JQuery显示ajax加载
我使用的是jQuery的最新版本 我想在jquery执行请求时显示ajax加载/进度图像,在请求完成后我想隐藏它 所以我可能会在成功事件中隐藏它,但在哪个事件中我会显示它使用JQuery显示ajax加载,jquery,Jquery,我使用的是jQuery的最新版本 我想在jquery执行请求时显示ajax加载/进度图像,在请求完成后我想隐藏它 所以我可能会在成功事件中隐藏它,但在哪个事件中我会显示它 $.ajax({ url: "example.php" }) //where to display progress? .success(function() { //hide progress }) .error(function() { //hide progress }) .co
$.ajax({ url: "example.php" })
//where to display progress?
.success(function() { //hide progress })
.error(function() { //hide progress })
.complete(function() { //hide progress });
您可以在ajax调用之前显示进度
// display progress
$.ajax({ url: "example.php" })
//where to display progress?
.success(function() { //hide progress })
.error(function() { //hide progress })
.complete(function() { //hide progress });
或者您可以在以下位置注册:
这样,无论何时ajax调用开始,您都不必手动显示进度。
扩展该功能后,您也可以使用或自动隐藏该功能:
您可以在ajax调用之前显示进度
// display progress
$.ajax({ url: "example.php" })
//where to display progress?
.success(function() { //hide progress })
.error(function() { //hide progress })
.complete(function() { //hide progress });
或者您可以在以下位置注册:
这样,无论何时ajax调用开始,您都不必手动显示进度。
扩展该功能后,您也可以使用或自动隐藏该功能:
在发出AJAX请求之前执行以下操作:
function MakeRequest() {
$('#progress').show();
$.ajax(...)
.success(function() { $('#progress').hide(); })
.error(function() { $('#progress').hide(); })
.complete(function() { $('#progress').hide(); });
}
如果您希望实际报告进度(10%、20%等),那么您必须重新考虑这一点,因为此设置会将您从0增加到100,而不会报告任何真正的“进度”。对于微调器或加载消息,这种类型的设置很好,但仅此而已
查看jQuery文档,有一个请求本地的beforeSend
事件。您可以这样使用它:
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
// Show progress
},
complete: function(){
// Handle the complete event
// Hide progress
}
// ......
});
在发出AJAX请求之前执行以下操作:
function MakeRequest() {
$('#progress').show();
$.ajax(...)
.success(function() { $('#progress').hide(); })
.error(function() { $('#progress').hide(); })
.complete(function() { $('#progress').hide(); });
}
如果您希望实际报告进度(10%、20%等),那么您必须重新考虑这一点,因为此设置会将您从0增加到100,而不会报告任何真正的“进度”。对于微调器或加载消息,这种类型的设置很好,但仅此而已
查看jQuery文档,有一个请求本地的beforeSend
事件。您可以这样使用它:
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
// Show progress
},
complete: function(){
// Handle the complete event
// Hide progress
}
// ......
});
是的,但是没有像beforeRequest之类的事件?我经常使用ajax,从来没有听说过.ajaxStart和.ajaxStop。它们非常有用。这只需要在文档中调用一次吗?准备好了吗?@Johnny:是的。您只需要设置一次。它可能是显示进度的元素(
div
e.g.)。所以是的,但是没有像beforeRequest之类的事件?我经常使用ajax,从来没有听说过.ajaxStart和.ajaxStop。它们非常有用。这只需要在文档中调用一次吗?准备好了吗?@Johnny:是的。您只需设置一次。可以是显示进度的元素(div
e.g.)。