/***********************
Ext定时发送请求
***********************/
// JavaScript Document var task_CheckLoginState;
//声明任务变量
Ext.onReady(
function(){
task_CheckLoginState = {
run: checkLogin,//执行任务时执行的函数
interval: 10000//任务间隔,毫秒为单位,这里是10秒
}
Ext.TaskMgr.start(task_CheckLoginState);//初始化时就启动任务
});
function showlogin() { //显示登录界面 } //检查登录状态的函数
function checkLogin(){
Ext.Ajax.request({
url: 'login.php',//执行登录状态检查的程序
disableCaching: true,//是否禁用缓存,当然要禁用
timeout: 10000,//最大等待时间,超出则会触发超时
success: function(response, option){//ajax请求发送成功时执行
if (!response || response.responseText == '') {
//返回的内容为空,即服务器停止响应时
Ext.TaskMgr.stop(task_CheckLoginState);
Ext.MessageBox.show({
title: '错误',
msg: '在检测您的登录状态时发生错误,请稍候再次进行登录。',
buttons: Ext.Msg.OK,
icon: Ext.MessageBox.ERROR,
fn: function(btn, text){
if (btn == 'ok') {
showlogin();//显示登录界面
}
}
});
return;
} else {
result = Ext.decode(response.responseText);
if (result.success == 'true') {//success是ext用来判断访问url是否成功的依据
if (result.state == 'true') {//state是自定义的返回值,用来标识登录状态是否有效
return true;
} else {//登录状态失效
Ext.TaskMgr.stop(task_CheckLoginState);
Ext.MessageBox.show({
title: '登录检测',
msg: '您已经长时间未操作或已经退出登录,请重新登录。',
buttons: Ext.Msg.OK,
icon: Ext.MessageBox.INFO,
fn: function(btn, text){
if (btn == 'ok') { showlogin(); } //显示登陆界面
}
});
return false;
}
} else {//success的返回结果不是true,这种情况很少发生
Ext.TaskMgr.stop(task_CheckLoginState);
Ext.MessageBox.show({
title: '错误',
msg: '在检测您的登录状态时发生网络错误,请确认您已经链接网络后再次进行登录。',
buttons: Ext.Msg.OK,
icon: Ext.MessageBox.ERROR,
fn: function(btn, text){
if (btn == 'ok') { showlogin(); } //显示登陆界面
}
});
}
}
},
failure: function(data){//ajax请求发送失败或超时
Ext.TaskMgr.stop(task_CheckLoginState);
}
});
}
分享到:
相关推荐
在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...
描述中提到的“Ext 前台定时器代码”是指在 ExtJS 应用程序的用户界面层设置一个定时器,该定时器周期性地发送请求到服务器,以获取最新的数据。这种技术通常被称为“轮询”,它允许前端应用在后台数据发生变化时...
1. **发送请求:** `Ext.Ajax.request`是核心方法,用于发起HTTP请求。你可以设置参数如URL、方法(GET或POST)、数据、回调函数等。例如: ```javascript Ext.Ajax.request({ url: 'server/script.php', method...
在前端,EXT Scheduler会发送Ajax请求到后端,后端则通过Spring MVC的控制器处理这些请求,执行相应的CRUD操作。数据通常以JSON格式交换,便于前后端之间的通信。 总的来说,"EXT Scheduler - Java"项目结合了EXTJS...
Ext AJAX的`submit`方法是Ext JS框架中用于发送异步HTTP请求的重要组成部分,它主要用于处理表单数据的提交。这个方法提供了与服务器端进行数据交互的灵活性,使得无需页面刷新就能更新或保存数据,极大地提高了用户...
例如,Grid的store配置指向获取物品列表的API,当用户操作时,EXT自动发送请求并更新界面。 4. 权限控制:ThinkPHP的Auth权限认证模块可以帮助实现用户角色和操作权限的管理,确保只有授权用户才能进行特定操作,如...
对于实时更新,我们需要配置Store的proxy以定时发送请求获取最新数据。常见的Proxy类型有Ajax和Rest,它们支持JSON或XML等数据格式。 2. AutoLoad:Store有一个autoLoad属性,可设置为true以在创建时自动加载数据。...
2. **数据模型**:定义聊天消息的数据结构,可能包含了时间、发送者、内容等属性。 3. **控制器**:负责监听用户操作,如点击发送按钮时触发消息发送,接收新消息时更新界面。 4. **服务接口**:与后端 Spring 或 ...
要实现这个功能,我们需要在EXT的视图(View)部分定义一个包含FileField的表单,然后在控制器(Controller)中监听表单的提交事件,将文件通过Ajax方式发送到PHP处理脚本。 2. **PHP处理** PHP端需要接收上传的...
EXT的Ajax功能还支持配置各种选项,如设置请求头、超时时间、同步/异步请求、数据编码方式等。例如,你可以设定请求头来添加自定义的HTTP头部信息: ```javascript headers: { 'Content-Type': 'application/json' ...
在EXT4中,可以利用FormPanel的submit方法发送数据到服务器,并通过监听各种事件来处理反馈结果。 总的来说,这个压缩包中的资料对于熟悉EXT4的日常开发非常有帮助,涵盖了EXT4的核心组件和常用操作,无论是数据...
然后通过request方法发送请求,指定了成功和失败的回调函数。request方法还接受其他参数,如url、params、method等,用于定制请求行为。 当存在多个并发请求时,可以通过abort方法取消指定的事务id的请求。这有助于...
创建了 **Ext.data.Connection** 实例后,可以调用 `request()` 函数来发送请求。该函数接受多个参数,如: - **url**: 请求的目标URL。 - **params**: 请求参数。 - **method**: 请求方法(GET、POST等)。 - **...
- `queryDelay`: 设置了在用户停止输入后延迟多少毫秒才发送请求的时间。这有助于减少不必要的网络请求,提高性能。 ### 三、实际应用案例分析 在实际项目中,如电商网站的商品搜索、社交媒体的用户查找等功能,`...
虽然它没有完整的Ext JS框架那么强大,但非常适合那些只需要部分功能或希望减少页面加载时间的项目。 Ext.ux.submit扩展则是对Ext Core原有功能的补充,特别是针对表单处理。在Web应用中,表单提交通常涉及向服务器...
2. **定义级联逻辑**:在`select`事件处理函数中,获取用户选择的省份ID,然后发送一个AJAX请求到后端,将这个ID作为请求参数。 3. **后端处理**:`AreaController.java`接收到请求后,根据省份ID查询数据库,获取...
然而,这个过程没有在提供的代码中具体展示,但你可以使用类似的方法,比如创建一个Ajax请求,将选择的皮肤值发送到服务器,并在那里进行处理和存储。 更换皮肤的关键步骤包括以下几点: - **获取皮肤资源**:下载...