`
tphaofang
  • 浏览: 18921 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

用ajax实现一个请求超时中断请求的功能,并实现倒计时

阅读更多
主要的js代码如下:

// 倒计时
var beginTime="30";
function DoConverseCallTimer(){
   beginTime=parseInt(beginTime,10)-1;
   if(beginTime<0){
       window.clearTimeout(timer);
   }else{
   $('displayTime').innerText=beginTime;
  
   timer1= window.setTimeout("DoConverseCallTimer()",1000);
   }
}
}
// 取消请求状态
function callInProgress (xmlhttp) {
    switch (xmlhttp.readyState) {
    case 1: case 2: case 3:
    return true;
    break;
   
    default:
    return false;
    break;
    }
}   
// 显示超时错误信息
function showFailureMessage(){
   
    alert('系统繁忙,请稍候再试!');
}

var handle={
onCreate: function(request) {
            // 当创建Ajax请求时,显示loading
          Element.show('loading');
          // 启动倒计时
          DoConverseCallTimer();
          request['timeoutId'] = window.setTimeout(
            function() {
            if (callInProgress(request.transport)) {
                request.transport.abort();
                showFailureMessage();
               
            }
        },
        30000 // thirty seconds
        );
    },
    onComplete: function(request) {
   
        if(Ajax.activeRequestCount==0){
              Element.hide('loading');
              }
       window.clearTimeout(request['timeoutId']);
       window.clearTimeout(timer);
     
    }
    onException: function(request){
      if(Ajax.activeRequestCount==0){
              Element.hide('loading');
      }
       window.clearTimeout(request['timeoutId']);
       window.clearTimeout(timer);
}
 }
// 将handle注册到合局Ajzx.Responders对象,使其生效
  Ajax.Responders.register(handle);
分享到:
评论

相关推荐

    为jquery的ajax请求添加超时timeout时间的操作方法

    jQuery作为一个广泛使用的JavaScript库,简化了从客户端到服务器的数据交互,而Ajax超时的设置则是保证请求响应时效性的重要手段。当客户端向服务器发送Ajax请求时,如果服务器没有在合理的时间内响应,就会造成用户...

    Ajax请求session超时处理流程

    当客户端ajax提交表单超时, 弹出一个登录框,并加一个背景层下面的整个浏览器. 当用户输入username and password登录成功后,去掉登录框和背景层.这时用户可以继续操作. 登录失败alert出错信息. $.post...

    解决Ajax 发送多个请求引发的并发问题

    这里提供一个使用jQuery的Ajax请求队列示例: ```javascript var requestQueue = []; function sendAjaxRequest(url, callback) { if (requestQueue.length === 0) { $.ajax({ url: url, success: function...

    HTML使用极简的方式通过ajax请求实现前后端交互代码实现

    jQuery是一个强大的JavaScript库,它简化了DOM操作,事件处理,动画效果以及,当然,包括AJAX请求。使用jQuery的$.ajax()函数,我们可以轻松地发起异步请求: ```javascript $.ajax({ url: 'your_server_endpoint'...

    js 实现发送短信验证码后的倒计时功能

    总结:js实现发送短信验证码后的倒计时功能,主要涉及与后端的AJAX交互(发送请求和处理响应)、在前端实现倒计时逻辑以及更新用户界面。通过这些步骤,可以为用户提供一个安全、友好的验证码发送体验。

    实例详解Android Webview拦截ajax请求

    首先,在前端中,我们需要引入 DSBridge 的 adapter 和 Fly.js 的 EngineWrapper,创建一个 Fly 对象,并使用它发起 Ajax 请求。所有的 Ajax 请求都会转发到 Native 上。 在 Native 端,我们需要实现一个 ...

    一个完整的jquery+ajax传送请求的实例

    本文将深入探讨一个完整的jQuery+AJAX传输请求的实例,旨在帮助开发者理解如何有效地使用这两种技术实现异步数据通信。 首先,jQuery是一个强大的JavaScript库,它为DOM操作、事件处理、动画效果和Ajax交互提供了...

    解决js ajax同步请求造成浏览器假死的问题

    这可以通过使用setTimeout函数实现,它允许浏览器在等待AJAX请求的期间,先去渲染页面上的其他元素。 具体到本文中,开发者在第二次尝试中使用了setTimeout,将AJAX请求放入setTimeout所创建的函数中。这样做允许...

    ajax请求后台数据实现分页功能

    通过以上步骤,我们可以利用jQuery的AJAX功能实现在不刷新页面的情况下,动态地从服务器获取分页数据并展示给用户。在实际项目中,你可能还需要考虑错误处理、缓存策略、SEO优化等问题,以提供更完善的分页功能。...

    Javascript实现商品秒杀倒计时(时间与服务器时间同步)

    总结来看,通过AJAX请求获取服务器时间,计算网络传输耗时以及用户电脑与服务器的时间差,并在这些基础上调整页面倒计时时间,可以实现一个既准确又高效的秒杀倒计时功能。这种方法不仅保证了倒计时的同步性,还尽量...

    Java通过jQuery实现ajax异步请求

    1. **jQuery AJAX API**:在jQuery中,我们通常使用`$.ajax()`函数发起一个AJAX请求。该函数接受一系列参数,如URL、请求类型(GET或POST)、数据类型(JSON、HTML等)以及回调函数等。例如,一个简单的GET请求可能...

    SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    SpringBoot+SpringSecurity处理Ajax登录请求问题是SpringBoot开发中的一個常见问题,本文将详细介绍如何使用SpringBoot+SpringSecurity处理Ajax登录请求问题。 知识点1:SpringBoot+SpringSecurity框架简介 ...

    PHP AJAX JSONP实现跨域请求使用范例_ajax如何解决跨域请求

    JSONP(JSON with Padding)是一种解决跨域请求的方法,即在客户端通过 script 标签请求服务器端的数据,然后服务器端将数据以 JSON 格式返回,并在返回数据中包含一个回调函数,以便客户端可以将数据处理。...

    jQuery-ajax-用户名异步请求

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本主题聚焦于jQuery中的Ajax功能,特别是如何利用它进行异步用户名验证。Ajax,即Asynchronous JavaScript and ...

    距截止日期倒计时及超时 时间

    "距截止日期倒计时及超时时间"的实现通常是通过编程技术来完成的,本例中使用了JavaScript库jQuery配合一个轻量级的时间插件。下面将详细阐述相关知识点。 首先,jQuery是一个广泛使用的JavaScript库,它简化了HTML...

    Ext.Ajax.request2.x实现同步请求

    本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,它是Asynchronous JavaScript and XML的缩写,虽然现在XML已不再是主要的数据交换格式,但...

    PHP+AJAX倒计时DEMO

    【PHP+AJAX倒计时DEMO】是一个技术实践示例,主要展示了如何结合PHP和AJAX技术实现网页上的动态倒计时功能。这个DEMO包含了一个数据库SQL脚本,用于存储倒计时的相关信息,同时也可能包含了HTML、CSS、JavaScript...

    利用HttpSession实现Ajax请求重定向.docx

    然而,默认情况下,Ajax 请求不能实现网页重定向,因为它是一个异步请求,不能使用传统的重定向方式。 问题:如何在 Ajax 请求正常执行的情况下,实现网页重定向? 解决方案: 为了解决这个问题,我们可以使用 ...

    PHP倒计时实现

    对于多个倒计时的实现,我们可以创建一个数组,存储每个倒计时的目标时间戳。然后,在每个周期性刷新的页面中,遍历这个数组,计算每个倒计时的剩余秒数,并显示出来。 下面是一个简单的`daojishi.php`文件的示例...

    ajax实现的相册功能

    在本文中,我们将深入探讨如何使用Ajax实现一个相册功能,并结合Servlet技术实现实时无刷新的图片展示。Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下更新部分网页内容的技术,极大...

Global site tag (gtag.js) - Google Analytics