今天用ExtJS 3.1 进行文件上传,参照的是它的ext-3.1.1\examples\form\file-upload.js 的例子。用的浏览器是Google的Chrome,发现一个BUG。
我的后台程序返回的json是下面的形式:
{"errors":"","success":true}
浏览器始终报错,告诉我JSON的格式不正确。一直想不明白为什么。
我在Chrome浏览器里面看到返回前台的json就是{"errors":"","success":true},但是页面就是报错。我怀疑是Ext有问题。
我Debug了Ext的js,发现下面的代码有问题:ext-all.js
Ext.util.JSON = new (function(){ var useHasOwn = !!{}.hasOwnProperty, isNative = function() { var useNative = null; return function() { if (useNative === null) { useNative = Ext.USE_NATIVE_JSON && window.JSON && JSON.toString() == '[object JSON]'; } return useNative; }; }(), pad = function(n) { return n < 10 ? "0" + n : n; }, doDecode = function(json){ // 这里有问题。我后台返回的是 {"errors":"","success":true} // 但这里的 json 里面的内容却是: "<pre style="word-wrap: break-word; white-space: pre-wrap;">{"errors":"","success":true}</pre>" // 让我百思不得其解。我只好去网上找了一个哥们的代码来救急。Chrome下面是正确的,其他浏览器没测试。请大家注意。 return eval("(" + json + ')'); }, ....
我在 http://www.oschina.net/code/snippet_590489_24448
找了个方法,放在自己的页面里面,就好用了。
这段代码是:
<script type="text/javascript"> Ext.USE_NATIVE_JSON = true; window.JSON = { "stringify":Ext.util.JSON.doEncode, "parse":function(json){ var str = json; var spos = str.indexOf(">"); var epos = 0; if(spos != -1){ epos = str.indexOf("<",spos); str = str.substr(spos+1,epos-spos-1); } return eval("("+str+")"); }, "toString":function(){ return '[object JSON]'; } }; </script>
相关推荐
使用Chrome开发者工具或Firebug等前端调试工具,结合ASP的调试功能,可以帮助定位和解决问题。 8. **部署与运维** 部署时,需要确保服务器环境配置正确,如安装IIS,配置ASP支持,以及处理好静态文件(如CSS、...
在IT行业中,PHP和ExtJS是两种非常重要的技术,它们分别在服务器端和客户端发挥着关键作用。...而ExtJS则是一个强大的...在实际项目中,不断地迭代和优化,你将能够解决各种复杂的问题,为用户提供更加出色的交互体验。
《Extjs源码分析与开发实例宝典》深入解析了Extjs框架的内核与实践应用,为读者提供了详尽的理论与实战指导。本文将根据该书籍的目录及部分章节内容,提炼出一系列关键知识点,帮助读者快速掌握Extjs的核心技术和...
- **处理响应**:ExtJS应用接收到响应后,解析JSON数据,更新UI展示。 4. **示例代码**: - 在ExtJS中,创建一个数据模型(Model)和Store,以及对应的CRUD操作控件,如表格(Grid)、表单(FormPanel)等。 - ...
ExtJS Tree 是一个基于JavaScript的UI组件库ExtJS中的一个重要组成部分,用于构建可交互的树形数据结构。在Web应用程序中,它常被用来展示层级关系的数据,如目录结构、组织架构或者数据库的表关系。ExtJS Tree的...
- **JSON数据交换**:前后端之间主要采用JSON格式进行数据传输,便于解析和处理。 2. **Java开发规范**: - **命名约定**: - **类名**:采用驼峰命名法,首字母大写,例如`CustomerManager`。 - **变量名**:...
**标题解析:** "ext-jwt-test" 是一个项目或模块的名称,它专注于在 Node.js 环境和 ExtJS 5(一种基于 JavaScript 的前端框架)中使用 JSON Web Token (JWT) 作为安全机制。这个项目可能是为了演示如何在这些技术...
"ExtJS5 SQLite 代理" 提供了一个方便的解决方案,使得基于 ExtJS5 构建的前端应用能够与 SQLite 数据库进行通信。"node-sqlite3" 是一个流行的 Node.js 模块,它允许在服务器端直接操作 SQLite 数据库。而 "WebSQL...
在进行Web开发时,尤其是使用Extjs框架时,我们经常需要通过Ajax...如果问题依旧存在,可以利用浏览器提供的开发者工具(如Chrome的开发者工具或Firefox的Firebug)进行进一步的调试和分析,以确定问题所在并解决它。
注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail...
- 当使用IIS作为服务器时,需要配置以便能够解析JSON文件,因为ExtJS在执行时会产生JSON格式的输出。 - 需要在IIS中安装ASP支持,添加MIME类型(text/json或application/x-javascript),并设置相应的脚本映射处理...
注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail...
数据源可以是JSON、XML或者其他格式,EXT会自动进行解析和同步。 3. **布局管理**:EXT提供了多种布局方式,如Fit布局、Border布局、Form布局、Table布局等,可以根据不同的组件和应用场景选择合适的布局模式,轻松...