- 浏览: 1294740 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (471)
- Database (29)
- Java (47)
- Frameworks (9)
- JavaScript (30)
- Others (27)
- ExtJS (26)
- Linux (49)
- Windows (11)
- Web (8)
- Ubunt (9)
- Shell (21)
- MySQL (26)
- Redis (9)
- Git (6)
- Maven (29)
- Python (3)
- Nginx (10)
- Nodejs (7)
- Network (1)
- GO (2)
- Docker (36)
- MongoDB (5)
- Intellij idea (7)
- Ruby (3)
- Weblogic (3)
- CSS (15)
- VMware (3)
- Tomcat (6)
- Cache (2)
- PHP (8)
- Mac (7)
- jQuery (3)
- Spring (8)
- HTML5 (2)
- Kubernetes (8)
最新评论
-
masuweng:
Intellij idea 主题下载网址 -
mimicom:
还有一个情况, 也是连不上 2018-05-06T06:01: ...
docker-compose 部署shipyard -
lixuansong:
put()方法调用前必须先手动调用remove(),不然不会实 ...
JavaScript创建Map对象(转) -
jiao_zg22:
方便问下,去哪里下载包含Ext.ux.TabCloseMenu ...
Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例 -
netwelfare:
对于基本类型的讲解,文章写的有点简单了,没有系统化,这篇文章介 ...
Java 基础类型范围
使用localXHR.js让ExtJS docs可以在本地浏览
我们在使用ext/docs目录下的文档时报一些js的错误,导致我们不能正常浏览使用,这时我们使用localXHR.js这样一个文件来支持本地使用ajax,使用方法如下:
下载localXHR.js放在docs目录下,然后在index.html中加入<script src="./localXHR.js"></script>,注意要将该文件的引入放在extall.js后面。
localXHR.js文件源码如下:
Ext.apply(Ext.lib.Ajax, {
forceActiveX: false,
createXhrObject: function(transactionId)
{
var obj, http;
try {
if (Ext.isIE7 && !! this.forceActiveX) { throw("IE7forceActiveX"); }
http = new XMLHttpRequest();
obj = { conn:http, tId:transactionId };
}
catch (e) {
for (var i = 0; i < this.activeX.length; ++i) {
try {
http = new ActiveXObject(this.activeX[i]);
obj = { conn:http, tId:transactionId };
break;
}
catch(e) {
}
}
}
finally
{
return obj;
}
},
getHttpStatus: function(reqObj) {
var statObj = {
status: 0,
statusText: '',
isError: false,
isLocal: false,
isOK: false
};
try {
if (! reqObj) throw('noobj');
statObj.status = reqObj.status || 0;
statObj.isLocal = !reqObj.status && location.protocol == "file:" ||
Ext.isSafari && reqObj.status == undefined;
statObj.statusText = reqObj.statusText || '';
statObj.isOK = (statObj.isLocal ||
(statObj.status > 199 && statObj.status < 300) ||
statObj.status == 304);
} catch(e) { statObj.isError = true; } //status may not avail/valid yet.
return statObj;
},
handleTransactionResponse: function(o, callback, isAbort) {
var responseObject;
callback = callback || {};
o.status = this.getHttpStatus(o.conn);
if (! o.status.isError) {
/* create and enhance the response with proper status and XMLDOM if necessary */
responseObject = this.createResponseObject(o, callback.argument);
}
if(o.status.isError){ /* checked again in case exception was raised - ActiveX was disabled during XML-DOM creation? */
responseObject = this.createExceptionObject(o.tId, callback.argument, (isAbort ? isAbort : false));
}
if (o.status.isOK && !o.status.isError) {
if (callback.success) {
if (!callback.scope) {
callback.success(responseObject);
}
else {
callback.success.apply(callback.scope, [responseObject]);
}
}
} else {
if (callback.failure) {
if (! callback.scope) {
callback.failure(responseObject);
}
else {
callback.failure.apply(callback.scope, [responseObject]);
}
}
}
this.releaseObject(o);
responseObject = null;
},
createResponseObject: function(o, callbackArg) {
var obj = {};
var headerObj = {};
try {
var headerStr = o.conn.getAllResponseHeaders();
var header = headerStr.split('\n');
for (var i = 0; i < header.length; i++) {
var delimitPos = header[i].indexOf(':');
if (delimitPos != -1) {
headerObj[header[i].substring(0, delimitPos)] = header[i].substring(delimitPos + 2);
}
}
}
catch(e) {
}
obj.tId = o.tId;
obj.status = o.status.status;
obj.statusText = o.status.statusText;
obj.getResponseHeader = headerObj;
obj.getAllResponseHeaders = headerStr;
obj.responseText = o.conn.responseText;
obj.responseXML = o.conn.responseXML;
if (o.status.isLocal) {
o.status.isOK = ((obj.status = o.status.status = (!!obj.responseText.length)?200:404) == 200);
if (o.status.isOK && (!obj.responseXML || obj.responseXML.childNodes.length == 0)) {
var xdoc = null;
try { //ActiveX may be disabled
if (typeof(DOMParser) == 'undefined') {
xdoc = new ActiveXObject("Microsoft.XMLDOM");
xdoc.async = "false";
xdoc.loadXML(obj.responseText);
} else {
var domParser = new DOMParser();
xdoc = domParser.parseFromString(obj.responseText, 'application/xml');
domParser = null;
}
} catch(ex) {
o.status.isError = true;
}
obj.responseXML = xdoc;
if (xdoc && typeof (obj.getResponseHeader['Content-Type']) == 'undefined' &&
!! xdoc.childNodes.length) {
/* Got valid nodes? then set the response header */
obj.getResponseHeader['Content-Type'] == 'text/xml';
}
}
}
if (typeof callbackArg !== undefined) {
obj.argument = callbackArg;
}
return obj;
},
asyncRequest: function(method, uri, callback, postData) {
var o = this.getConnectionObject();
if (! o) {
return null;
} else {
try {
o.conn.open(method, uri, true);
} catch(ex) {
this.handleTransactionResponse(o, callback);
return o;
}
if (this.useDefaultXhrHeader) {
if (! this.defaultHeaders['X-Requested-With']) {
this.initHeader('X-Requested-With', this.defaultXhrHeader, true);
}
}
if (postData && this.useDefaultHeader) {
this.initHeader('Content-Type', this.defaultPostHeader);
}
if (this.hasDefaultHeaders || this.hasHeaders) {
this.setHeader(o);
}
this.handleReadyState(o, callback);
try { o.conn.send(postData || null);
} catch(ex) { this.handleTransactionResponse(o, callback); }
return o;
}
}
});
Ext.lib.Ajax.forceActiveX = (document.location.protocol == 'file:'); /* or other true/false mechanism */
评论
我只能把这个部署到tomcat才可以,请指教
那是否可以这样认为:设计一定的数据结构用文件存储,这样就可以不涉及后台而完成某些小应用。因为在浏览器解释执行的JS可以去修改本地的文件。
我的一点设想,呵呵。
发表评论
-
ExtJS Architecture
2011-04-12 10:17 1110website: http://www.slideshare. ... -
ExtJS2.0中使用开始和结束时间的控件 示例
2009-05-25 18:54 2488ExtJS2.0中使用开始和结束时间的控件 示例 效果: ... -
ExtJS grid中如何显示时间
2009-05-12 16:05 5215ExtJS grid中如何显示时间 效果: 实现 ... -
在ExtJS2.0中使用datefield编写开始/结束时间组件
2009-04-08 10:17 3451在ExtJS2.0中使用datefield编写开始/结束时间组 ... -
解决ExtJs分页grid中load数据为空时不能刷新Ext.PagingToolbar信息的问题
2009-03-19 16:43 7058解决ExtJs分页grid中load数据为空时不能刷新Ext. ... -
Ext.plugins.TDGi.tabScrollerMenu插件的使用
2009-03-10 15:47 2895Ext.plugins.TDGi.tabScrollerMen ... -
Ext.ux.TabPanel组件的使用
2009-03-10 11:36 7315Ext.ux.TabPanel组件的使用 效果: HTML ... -
如何在Ext.form.FormPanel中让等待提示绑定在具体的form之上
2009-03-10 09:16 2766如何在Ext.form.FormPanel中让等待提示绑定在具 ... -
Ext.ux.ImageButton的使用(带有图片的按钮) 示例
2009-02-23 16:23 6990Ext.ux.ImageButton的使用( ... -
fieldset多列展示 示例
2009-02-23 16:17 2616fieldset多列展示 示例 效果: HTML源码: &l ... -
Ext.ux.UploadDialog组件的使用 示例
2009-02-18 17:22 7958Ext.ux.UploadDialog组件的使用 示例 效果: ... -
ExtJS TreeCheckNodeUI组件的使用 示例
2009-02-17 16:37 7875ExtJS TreeCheckNodeUI组件的使用 示例 效 ... -
ExtJS MultiselectItemSelector的使用 示例
2009-02-17 10:30 8516ExtJS MultiselectItemSelector的使 ... -
ExtJS GroupHeaderPlugin的使用 示例
2009-02-17 09:18 6678ExtJS GroupHeaderPlugin的使 ... -
Ext.ux.RadioGroup的使用(让各radio使用不同的名称) 示例
2009-02-16 16:13 9478Ext.ux.RadioGroup的使用(让各radio使用不 ... -
ExtJS中DatetimeMenu组件(包括时、分)的使用 示例
2009-02-16 14:01 2252ExtJS中DatetimeMenu组件(包括时、分)的使用 ... -
ExtJS中editable-column-tree组件的使用 示例
2009-02-16 13:26 5406ExtJS中editable-column-tree组件的使用 ... -
Ext.ux.ThemeCycleButton换肤组件 示例
2009-02-13 14:04 3164Ext.ux.ThemeCycleButton换肤组件 示例 ... -
ExtJS编写的youtube视频播放组件 示例
2009-02-13 11:21 3968ExtJS编写的youtube视频播放组件 示例 效果: ... -
Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例
2009-02-13 10:35 14534Ext.ux.TabCloseMenu插件的使用(TabPan ...
相关推荐
"localXHR.js"的工作原理是通过模拟XMLHttpRequest对象,使得开发者可以在本地文件系统上进行读取、写入或删除操作。这对于测试数据加载、存储或者API调用的逻辑非常实用,尤其是对于那些基于JSONP或者CORS(跨源...
localXHR.js
Ext2.0文档下载后在本地不能阅读,下载localXHR.js放在docs目录下然后在index.html中加入<script src="localXHR.js">,要放在extall.js后面。
在`JavaScript - XHR.js`中,发送短信验证码可能如下: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', 'https://api.example.com/sms/send', true); xhr.setRequestHeader('Content-Type',...
Ajax-xhr.js.zip,js是使用xmlhttprequest发出ajax/http请求的库()。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...
XHR(XMLHttpRequest)是Web开发中的一个重要工具,用于在不刷新整个页面的情况下与服务器进行异步数据交换,这种技术通常被称为AJAX(Asynchronous JavaScript and XML),虽然现在XML已经不是数据交换的主要格式,...
1. **引入插件**:首先,需要在EXT2.0应用的页面中引入`localXHR.js`文件,确保该插件可被EXT框架识别和使用。 2. **创建本地请求对象**:在EXT2.0中,通常我们使用`Ext.Ajax`来发送AJAX请求。对于本地文件,我们...
xhr.js 这是有史以来最小的 XmlHttpRequest Javascript 微型库。 曾经! 未压缩:781 字节缩小:442 字节缩小 + GZ 压缩:329 字节支持所有浏览器: 火狐 1.0+ Chrome 1+ 浏览器 7+ 歌剧Safari 1.2+ 不支持 IE5 和 ...
文件“localXHR.js”可能是ExtJS用于处理本地数据请求的组件,如果这个文件出现问题,可能会导致文档加载异常。检查该文件是否正确加载,或者是否有语法错误或异常。 5. **开发工具调试**: 使用浏览器的开发者...
在文件名称列表中,“localXHR.js”是一个关键文件,这可能是EXTJS中用于处理本地XMLHttpRequest请求的模块。在离线模式下,EXTJS可能会使用类似的技术来模拟网络请求,从本地缓存中读取数据,而不是向服务器发送...
在使用xhr.base之前,确保已经引入了jQuery的基础库,例如jQuery-3.4.1.min.js。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画制作以及Ajax交互等多个方面。xhr.base库是建立在这个基础上,...
虽然本地Web服务器不是使用Ext JS 4的硬性要求,但强烈建议在开发过程中使用,因为通过本地file://协议的XHR在大多数浏览器中存在跨域限制。推荐安装Apache HTTP Server作为本地Web服务器。根据你的操作系统,可以...
而Three.js是JavaScript的一个强大3D库,它提供了丰富的功能,让我们能在Web上轻松创建和显示3D内容。 首先,我们需要确保在Vue项目中安装了必要的依赖。在终端中运行以下命令: ```bash npm install three three-...
为了解决这个问题,可以采用数据压缩技术,如gzip,配合JavaScript库pako.js来压缩数据,然后再通过Ajax发送。以下将详细讲解如何利用ajax和pako.js实现gzip数据压缩上传。 首先,理解gzip压缩原理。gzip是一种广泛...
使用这两个库的组合,开发者可以在浏览器端轻松地建立到STOMP兼容消息代理的连接,比如RabbitMQ、ActiveMQ或者Apache Kafka等。以下是一个简单的使用示例: 1. 引入`sockjs.min.js` 和 `stomp.min.js`: ```html ...
在Web服务领域,JavaScript可以通过多种方式与WebService进行交互,从而实现数据交换和远程功能调用。本篇将深入探讨如何使用JavaScript调用WebService,帮助开发者理解和掌握这一技术。 首先,了解WebService的...
xhr.m
例如,`localXHR.js`可能是一个实现本地XMLHttpRequest的模拟,这在处理异步请求时很有用。在API文档中,我们能查找`Ext.Ajax`或`Ext.data.Connection`等类,它们提供了与服务器进行数据交换的功能。 在ExtJS中,...
xhr.zip_evidence5a8_thing1y8_xhr01_com_xhr11111.com_线性回归这个压缩包文件包含了多个文件,主要涉及一个基于线性回归算法的预测模型。线性回归是一种广泛应用的统计学方法,用于研究两个或多个变量之间的关系,...