静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

jQuery和ExtJS的timeOut超时设置和event事件处理

作者:大鹏 发布于:2010-4-3 14:23 Saturday 分类:JavaScript与HTML
标签: javascript ajax extjs jquery 超时

ajax请求如何自定义超时时间,并处理相应的超时事件呢?

对jQuery 来说,超时可以直接设置timeout参数,并在error事件中捕获第二个参数,如果是“timeout”则表明捕获了超时事件,非常清楚。

例子:
[code]
$.ajax({

        type: "POST"
,

        contentType: "application/json"
,

        url: "../ws/MyService.asmx/test"
,

        data: '{"email":"'
+email+'"}'
,

        timeout: 30000, //超时时间:30秒


        dataType: 'json'
,

        error: function
(XMLHttpRequest, textStatus, errorThrown){

        //TODO: 处理status, http status code,超时 408


        // 注意:如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能


              //是"timeout", "error", "notmodified" 和 "parsererror"。


        },

        success: function
(result) {

          // TODO: check result


        }

});        
[/code]        
另外,error事件返回的第一个参数XMLHttpRequest有一些有用的信息:

阅读全文>>


评论(0) 引用(0) 浏览(50521)

ExtJS中grid的JsonStore、Ext.PagingToolbar带条件查询问题

作者:大鹏 发布于:2009-11-27 8:54 Friday 分类:JavaScript与HTML
标签: extjs

Extjs中的帮助文档中都是些简单的查询,grid的分页查询只是默认传入start,limit,sort,dir等参数,但实际情况中可能需要传入自定义参数,试了好多次都没有发布传入
  在网上找一个一个办法,利用JsonStore的beforeload事件来强制添加自定义的参数列表即可以实现,关键代码如下:
[code]
var ds = new Ext.data.JsonStore({
url: "../Handlers/PageHandlerPage.aspx",
//url: "../Handlers/PageHandler.ashx",
root: "root",
totalProperty: "totalProperty",
id: "id",
baseParams:{id:Ext.get("txtId").dom.value,name:Ext.get("txtName").dom.value},
fields:["id","name","descn"
],
remoteSort:true
});

ds.on("beforeload", function(thiz, options) {
//debugger
thiz.baseParams["id"] = Ext.get("txtId").dom.value;
thiz.baseParams["name"] = Ext.get("txtName").dom.value;
});
[/code]


评论(0) 引用(0) 浏览(14358)

ExtJsGridPanel中IE6中出现长滚动条的解决方法

作者:大鹏 发布于:2009-6-11 16:13 Thursday 分类:JavaScript与HTML
标签: extjs

在IE6中GridPanel如果不是设置成固定的宽度,则会出现一个很长的滚动条,整个GridPanel似乎变得有页面10倍宽,
解决方法:
修改ext-all.css第 #337 行:
[code]
.x-grid3-header-offset{padding-left:1px;width:10000px;}
[/code]
to
[code]
.x-grid3-header-offset{padding-left:1px;width:auto;}
[/code]
或者直接在页面中加入:
[code]
<style type="text/css">
.x-grid3-header-offset{padding-left:1px;width:auto;}
</style>
[/code]


评论(0) 引用(0) 浏览(13083)

Extjs Tree通过递归删除子节点信息

作者:大鹏 发布于:2008-7-16 21:42 Wednesday 分类:JavaScript与HTML
标签: javascript extjs

function removeChildrenRecursively(node) {
    if (!node) return;
    while (node.hasChildNodes()) {
        removeChildrenRecursively(node.firstChild);
        node.removeChild(node.firstChild);
    }
}


评论(0) 引用(0) 浏览(15480)

关于ExtJS中TabPanel的Tab页关闭后再打开组件无法显示的问题

作者:大鹏 发布于:2008-7-4 18:28 Friday 分类:JavaScript与HTML
标签: javascript ajax extjs

EXT中的TabPanel如果需要把被用户关闭的页缓存,则在TabPanel的属性中加入如下:  
[code]
listeners:{//当前侦听到关闭事件时,把要关闭的Panel隐藏
                remove: function(tp, c) {
                    c.hide();
                }
        },
        autoDestroy:false,//被关闭的Panel不会被自动释放
[/code]===========================================================
初始化组件的方法要在Ext.onReady里的执行,要不然很有可能报错,因为之前浏览器页面还没有加载好其元素不完整。


评论(1) 引用(0) 浏览(38688)