首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在javascript/jquery/php中执行http请求(长时间运行)时显示“正在进行”

在javascript/jquery/php中执行http请求(长时间运行)时显示“正在进行”
EN

Stack Overflow用户
提问于 2012-02-28 04:32:49
回答 4查看 1.9K关注 0票数 0

我希望有“正在加载..”/“正在进行中..”常规http请求期间的消息。这应该只在http请求周期中显示,一旦您获得请求完成并获得响应,它就应该关闭。我热衷于常规的HTTP请求,和HTTP请求,需要更长的时间,而不是AJAX。代码块,例子,指针。这里有一种方法,我希望有一个通用的方法,这样它就可以用于任何http请求。

EN

回答 4

Stack Overflow用户

发布于 2012-02-28 04:59:01

您应该使用beforeSend和complete事件:

代码语言:javascript
运行
复制
$.ajax({
   ...
   beforeSend: function(){
      //Here you loading SHOW

   },
   complete: function(){
     //Here you loading HIDE

   }
   ...
});
票数 1
EN

Stack Overflow用户

发布于 2012-02-28 04:35:44

基本上,在执行普通的HTTP请求(而不是AJAX)时,客户端浏览器已经提供了一个进度指示器。这个指标在不同的浏览器和平台上会有所不同,你不能依赖它。

一旦你离开页面,你的javascript就会停止工作,所以不要寻找javascript解决方案来显示这样的进度指示器。根据这个HTTP请求的触发方式,可能有不同的方法来实现这一点。例如,如果你的标记中有一个锚标签,可以触发一个普通的HTTP请求,你可以订阅这个锚的点击处理程序,并使用javascript显示一个动画微调器,然后让浏览器进行重定向。

就AJAX请求而言,您可以订阅.ajaxStart().ajaxComplete()全局处理程序来分别显示和隐藏一些微调控制项。

当然,一切都取决于实现。没有神奇的解决方案可以处理所有可能的情况。因此,基本上您必须找到一个适合您的特定上下文的解决方案,不幸的是,您没有详细说明。

票数 0
EN

Stack Overflow用户

发布于 2012-02-28 04:43:42

您可以在页面上有一个元素,该元素在页面完全加载后被隐藏。例如:

代码语言:javascript
运行
复制
<img id="loading" src="loading.gif" alt="Loading..." />

<script type="text/javascript">

$(function() {
  $('img#loading').hide(); // Called when whole page has been loaded
});

</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9471857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档