`
xuzhfa123
  • 浏览: 118647 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Ext开发随笔

    博客分类:
  • 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