`
kobe学java
  • 浏览: 258002 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Ext开发随笔

 
阅读更多

今天在开发一个项目时,前端用的是EXT框架,在开发过程中碰到一个问题:missing } in XML expression。因为本人是用firefox浏览器的插件FireBug做为调试,所就碰上这事。如果不用firefox可能永远碰到着。发现问题咱们就来解决问题。 
    使用firedebug跟踪了一下返回的数据, 发现responseText中被加上了<pre></pre>标签,但是在IE中没有<pre>标签,问题就出这里。 
    浏览一下源代码,发现Ext.form.Action.Submit提交请求是用Ext.Ajax组件进行数据传输的. Ext.form.Action.Submit部分源代码如下所示: 

引用

   1. ...  
   2.    // private  
   3.    run : function(){  
   4.        var o = this.options;  
   5.        var method = this.getMethod();  
   6.        var isGet = method == 'GET';  
   7.        if(o.clientValidation === false || this.form.isValid()){  
   8.            Ext.Ajax.request(Ext.apply(this.createCallback(o), {  
   9.                form:this.form.el.dom,  
  10.                url:this.getUrl(isGet),  
  11.                method: method,  
  12.                headers: o.headers,  
  13.                params:!isGet ? this.getParams() : null,  
  14.                isUpload: this.form.fileUpload  
  15.            }));  
  16.        }else if (o.clientValidation !== false){ // client validation failed  
  17.            this.failureType = Ext.form.Action.CLIENT_INVALID;  
  18.            this.form.afterAction(this, false);  
  19.        }  
  20.    },  
  21.   
  22.    // private  
  23.    success : function(response){  
  24.     //问题源  
  25.        var result = this.processResponse(response);  
  26.        if(result === true || result.success){  
  27.            this.form.afterAction(this, true);  
  28.            return;  
  29.        }  
  30.        if(result.errors){  
  31.            this.form.markInvalid(result.errors);  
  32.            this.failureType = Ext.form.Action.SERVER_INVALID;  
  33.        }  
  34.        this.form.afterAction(this, false);  
  35.    },  
  36.      
  37.    processResponse : function(response){  
  38.        this.response = response;  
  39.        if(!response.responseText){  
  40.            return true;  
  41.        }  
  42.        this.result = this.handleResponse(response);  
  43.        return this.result;  
  44.    }  
  45.    ...  



    因为在processResponse函数处理数据时出现异常,所以就出现了上面碰到的问题.那么怎么解决它呢,重写processResponse方法就OK了.在你所使用的JS中加入如下一段代码就OK了.

引用

   1.     Ext.override(Ext.form.Action.Submit,{  
   2.     // private  
   3.     processResponse : function(response){  
   4.         this.response = response;  
   5.         //增加下面几句代码就OK啦  
   6.         ////////////////////////  
   7.         var data = response.responseText;  
   8.         if(data.indexOf('<pre>') != -1) {  
   9.           response.responseText = data.substring(5, data.length-6);  
  10.           this.response = Ext.util.JSON.decode(response.responseText);  
  11.         }      
  12.         ///////////////////////////       
  13.         if(!response.responseText){  
  14.             return true;  
  15.         }  
  16.         this.result = this.handleResponse(response);  
  17.         return this.result;  
  18.     }  
  19. });  

 

分享到:
评论

相关推荐

    Ext开发文档(入门)

    **EXT开发文档(入门)** EXT是一个基于JavaScript的前端框架,主要用于构建富互联网应用程序(RIA)。它提供了丰富的组件库和强大的数据绑定机制,使得开发者能够创建功能强大的、用户体验优秀的Web应用。本文档将...

    EXT IDE,方便的EXT开发工具

    EXT IDE是一款专为EXT开发设计的强大集成开发环境(IDE),旨在提供高效、便捷的编码、调试和项目管理功能。EXT是一种基于JavaScript的富客户端应用程序框架,由Sencha公司开发,广泛应用于构建桌面级的Web应用。EXT...

    一些Ext开发用到的教程

    做跨库查询时,前台是用EXT实现的 基本上开始的时候对EXT的了解=0 所以会在这个开发过程中找到一些教程

    Ext框架开发文档及ext-core.js

    EXT框架是Web应用程序开发中的一个强大工具,尤其在构建用户界面方面表现卓越。EXT的核心库,ext-core.js,是一个轻量级的JavaScript库,提供了基本的UI组件和数据绑定功能,使得开发者能够创建复杂的交互式网页应用...

    ext 源码api 开发文档

    EXT源码API开发文档是一份宝贵的资源,适合开发者深入理解EXT的工作原理,优化性能,或者自定义组件。 1. **源码分析**:EXT源码提供了深入学习EXT框架的机会。通过阅读源码,开发者可以了解EXT内部的工作机制,...

    Ext2.3.0以及Ext_js使用开发指南

    Ext&Ext开发指南‘’‘Ext&Ext开发指南’‘’Ext&Ext开发指南‘’‘Ext&Ext开发指南’‘’Ext&Ext开发指南‘’‘Ext&Ext开发指南

    国内首个基于Ext开发开源企业级框架Efsform

    Efs 是企业快速开发的UI 层。这个UI 层封装extjs 框架...开发人员可以不用深入掌握Ext框架,只需要开发者编写少量的 html 代码,也可以做出很炫的页面。当然你也可以使用new Ext 的控件渲染到 页面,两者可以混合使用。

    ext js中文开发手册

    《EXT JS中文开发手册》详尽解读与应用指南 **一、EXT JS简介** EXT JS是一种基于JavaScript的开源框架,专为Web应用程序的界面开发而设计。它提供了一套丰富的UI组件,支持复杂的用户交互,并简化了AJAX交互的...

    ext liferay开发

    【Liferay Ext开发详解】 Liferay Ext开发是一种高级的定制方式,用于对Liferay Portal进行深度扩展,当Portlet、Hook或Web插件无法满足特定需求时使用。Ext插件允许开发者访问和修改Liferay的内部API,甚至覆盖其...

    EXT中文手册,ext开发帮手

    EXT中文手册是为EXT开发提供帮助的一份详细文档,它主要涵盖了EXT库的各个方面,旨在帮助开发者更好地理解和使用EXT框架进行Web应用开发。EXT是一个基于JavaScript的UI组件库,广泛用于构建富客户端应用,尤其在数据...

    ext 开发工具 智能提示插件 天涯浪子

    EXT开发工具是用于构建Web应用程序的强大框架,尤其在创建数据驱动的富客户端界面时非常有用。EXT提供的组件丰富,能够创建高度交互式的用户界面。在EXT开发过程中,智能提示插件是一个不可或缺的辅助工具,它能提升...

    Ext JS源码分析与开发实例宝典光盘源码

    Ext JS源码分析与开发实例宝典光盘源码Ext JS源码分析与开发实例宝典光盘源码Ext JS源码分析与开发实例宝典光盘源码Ext JS源码分析与开发实例宝典光盘源码Ext JS源码分析与开发实例宝典光盘源码Ext JS源码分析与开发...

    Ext 3.0 中文API 帮助文档 ext开发必备

    Ext 3.0 中文 API 开发文档 直接不打开,不需要部署在服务器上,中文,查看方便,快捷!Ext开发人员必备!

    快意编程EXT JS Web开发技术详解.part3

     《快意编程:Ext JS Web开发技术详解》是笔者在多年项目开发过程中的经验总结,它通过丰富的实例由浅入深、循序渐进地介绍了目前采用Ext JS进行Web开发的使用方法,从而帮助软件设计人员快速掌握Ext JS开发技术的...

    ext-4.2.1开发包

    Ext开发所需要的相关文件

    ext可视化开发软件

    在EXT开发环境中,工作区文件可能包含了EXT组件的配置、布局和数据源等信息。 `source`目录很可能是包含源代码的文件夹。如果用户希望深入理解软件的工作原理,或者想要自定义和扩展功能,可以查看这个目录下的内容...

    EXT.NET网站应用程序开发教程英文版

    本教程“EXT.NET Web应用程序开发教程2012年英文版”是针对EXT.NET框架的一份详细学习资料,适合对.NET技术有一定基础,并希望深入学习EXT.NET的开发者。 教程内容可能涵盖以下几个方面: 1. **EXT.NET简介**:...

    EXT2.2开发环境

    EXT2.2是一种基于JavaScript的前端开发框架,主要用于构建富客户端Web应用。它以其强大的组件化功能、丰富的UI控件和高效的性能而受到开发者们的欢迎。EXT2.2的开发环境搭建是学习EXTJS框架的基础步骤,对于深入理解...

Global site tag (gtag.js) - Google Analytics