`
- 浏览:
2855 次
- 性别:
- 来自:
上海
-
/**//*
Cross-Browser XMLHttpRequest v1.1
=================================
Emulate Gecko 'XMLHttpRequest()' functionality in IE and Opera. Opera requires
the Sun Java Runtime Environment <http://www.java.com/>.
by Andrew Gregory
http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/
This work is licensed under the Creative Commons Attribution License. To view a
copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send
a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
USA.
Not Supported in Opera
----------------------
* user/password authentication
* responseXML data member
Not Fully Supported in Opera
----------------------------
* async requests
* abort()
* getAllResponseHeaders(), getAllResponseHeader(header)
*/
// IE support
if (window.ActiveXObject && !window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
};
}
// Gecko support
/**//* ;-) */
// Opera support
global_fakeOperaXMLHttpRequestSupport = false;
//if (window.opera && !window.XMLHttpRequest) { THIS IS COMMENTED OUT BECAUSE OPERA 8 has window.XMLHttpRequest but still does not support setRequestHeader
if (window.opera) {
global_fakeOperaXMLHttpRequestSupport = true;
window.XMLHttpRequest = function() {
this.readyState = 0; // 0=uninitialized,1=loading,2=loaded,3=interactive,4=complete
this.status = 0; // HTTP status codes
this.statusText = '';
this._headers = [];
this._aborted = false;
this._async = true;
this.abort = function() {
this._aborted = true;
};
this.getAllResponseHeaders = function() {
return this.getAllResponseHeader('*');
};
this.getAllResponseHeader = function(header) {
var ret = '';
for (var i = 0; i < this._headers.length; i++) {
if (header == '*' || this._headers[i].h == header) {
ret += this._headers[i].h + ': ' + this._headers[i].v + '\n';
}
}
return ret;
};
this.setRequestHeader = function(header, value) {
this._headers[this._headers.length] = {h:header, v:value};
};
this.open = function(method, url, async, user, password) {
//alert(method+"]["+url+"]["+async+"]["+user+""+""+"");
this.method = method;
this.url = url;
this._async = true;
this._aborted = false;
if (arguments.length >= 3) {
this._async = async;
}
if (arguments.length > 3) {
// user/password support requires a custom Authenticator class
opera.postError('XMLHttpRequest.open() - user/password not supported');
}
this._headers = [];
this.readyState = 1;
if (this.onreadystatechange) {
this.onreadystatechange();
}
};
this.send = function(data) {
if (!navigator.javaEnabled()) {
alert("XMLHttpRequest.send() - Java must be installed and enabled.");
return;
}
if (this._async) {
setTimeout(this._sendasync, 0, this, data);
// this is not really asynchronous and won't execute until the current
// execution context ends
} else {
this._sendsync(data);
}
}
this._sendasync = function(req, data) {
if (!req._aborted) {
req._sendsync(data);
}
};
this._sendsync = function(data) {
this.readyState = 2;
if (this.onreadystatechange) {
this.onreadystatechange();
}
// open connection
var url = new java.net.URL(new java.net.URL(window.location.href), this.url);
var conn = url.openConnection();
for (var i = 0; i < this._headers.length; i++) {
conn.setRequestProperty(this._headers[i].h, this._headers[i].v);
}
this._headers = [];
if (this.method == 'POST') {
// POST data
conn.setDoOutput(true);
var wr = new java.io.OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
wr.close();
}
// read response headers
// NOTE: the getHeaderField() methods always return nulls for me :(
var gotContentEncoding = false;
var gotContentLength = false;
var gotContentType = false;
var gotDate = false;
var gotExpiration = false;
var gotLastModified = false;
for (var i = 0; ; i++) {
var hdrName = conn.getHeaderFieldKey(i);
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
备案批量查询 v1.1 是一个基于 ASP 技术开发的源码程序,主要用于批量查询网站的ICP(Internet Content Provider)备案信息。ASP,全称为Active Server Pages,是微软推出的一种服务器端脚本环境,它允许开发者创建...
琥珀联动菜单-AJAX版 [HPMenu V1.1] 是一款专为网页设计者打造的高效交互组件,主要用于实现动态的、基于Ajax技术的下拉菜单功能。这款组件利用Ajax(异步JavaScript和XML)技术,可以无刷新地更新页面部分区域,...
【标题】"基于ASP的星外对接DNSPOD接口完整代码 v1.1 ASP.zip" 涉及的核心技术是ASP(Active Server Pages)和DNSPOD接口的对接。ASP是一种微软开发的服务器端脚本环境,用于创建动态网页或Web应用程序。而DNSPOD则...
在这个“ASP jQuery AJAX无刷新评论 v1.1”的项目中,开发者利用这些技术实现了页面无刷新的评论系统,使得用户在提交评论时无需等待整个页面重新加载,极大地提升了用户的使用体验。 首先,ASP(Active Server ...
【炫客无刷新聊天室 v1.1 ASP版.rar】是一个基于ASP技术并结合JavaScript(AJAX)实现的在线实时聊天室系统。该系统的主要特点是实现了无刷新通信,即用户在聊天过程中无需手动刷新页面就能实时看到其他人的消息,极...
这个"ASP源码—仿站长站收录查询工具 v1.1.zip"的压缩包文件显然包含了一个基于ASP技术的网站应用,该应用旨在模仿知名站长站的功能,帮助用户查询他们的网站是否被搜索引擎收录。 在ASP编程中,开发者可以使用...
【标题】"基于ASP的高仿admin5站长网址大全带后台 v1.1.1019.zip"指的是一个使用Active Server Pages (ASP)技术开发的网站程序,它旨在模仿知名站长平台admin5的功能和界面设计。这个版本号1.1.1019代表了该软件的一...
Fate风铃ASP留言本v1.1是一款基于ASP技术的网站互动组件,它允许网站访客留下他们的信息,提高用户参与度并促进沟通。 在这款源码中,我们可以期待看到以下关键知识点: 1. **ASP基本结构与语法**:ASP文件通常以`...
在"某化工贸易有限公司网站 v1.1-ASP源码.zip"这个压缩包中,可能包含的是该公司网站的源代码,用于展示如何利用ASP技术构建一个企业级的网站。源码通常包括了ASP文件、HTML模板、CSS样式表、JavaScript脚本以及可能...
总结来说,这个"ASP源码—星外对接DNSPOD接口完整代码 v1.1 ASP.zip"的资源提供了一套ASP程序,用于与DNSPOD服务进行接口通信,实现对DNS记录的自动化管理。通过学习和运用这段代码,可以提升服务器管理和自动化运维...
《随风ASP多人聊天室 v1.1》是一款基于ASP技术构建的实时交流平台,旨在提供高效率且稳定的多人在线聊天功能。在V1.1版本中,开发团队对产品进行了重要的更新和优化,显著提升了系统的性能和用户体验。 首先,核心...
该资源是一个基于PHP的毕业设计项目,名为“西安朴凡广告企业内部公告系统”,版本为v1.1,由xadesign.org提供。这个系统旨在为企业的内部沟通和信息传递提供一个便捷、高效的平台。通过分析这个项目的源代码,我们...
haltiademo-v1.1是哈蒂亚演示项目的一个版本,这个版本号为1.1。根据提供的信息,我们可以推测这是一个用于展示或教学目的的项目,可能是为了展示JavaScript技术的应用。"haltiademo-v1.1-master"这个压缩包文件名...
【炫客无刷新聊天室 v1.1】是一款基于ASP和JavaScript(AJAX技术辅助)构建的实时聊天室系统,其特色在于实现了页面无刷新的交互体验,为用户提供流畅的在线沟通环境。这款个人版和商业版终身可用的程序虽然并非最终...
奥克斯v1.1 面向对象的XHR(XMLHttpRequest)包装器/库。现代程序员使用fetch,其他人则喜欢Oxhr :cow_face:为什么选择Oxhr? 基于承诺(异步) 微小(最小2kb),非常简单准备将ES模块oxhr.min.js用于您JavaScript...
安装完成后,通过在终端输入 `node -v` 和 `npm -v` 来验证安装是否成功。 ### **2. 启动测试服务接口** 将提供的测试服务接口文件拷贝到一个新建的项目文件夹中,并使用 VSCode 打开。在终端中,运行 `npm install...
axios允许你提供自定义的网络适配器,例如在特殊环境下使用fetch API或XMLHttpRequest替代默认的适配器: ```javascript axios.defaults.adapter = require('axios/adapters/xhr'); ``` ### Cancel Tokens axios...
"25175 QQ在线聊天系统v1.1.txt"可能是版本信息和开发者记录。"IMAGES_A"可能是一个目录,存储了系统所需的图片资源。 实现ASP版QQ在线聊天系统的关键技术包括: 1. **AJAX**:通过XMLHttpRequest对象异步与服务器...
本书由Dave Crane、Bear Bibeault、Joris Evers、Ted Goddard、Chris Gray、Ram V. Enkataraman 和 Joe Walker 共同编写,并由 Manning Publications 出版。 ### Ajax:一种颠覆性技术 #### 1.1 Ajax作为一种颠覆...
WebSocket API被设计成与HTTP兼容,通过HTTP/1.1的Upgrade头字段进行升级,一旦连接建立,就不再依赖HTTP。 **HTTP** HTTP(超文本传输协议)是一种无状态、请求-响应式的协议,主要用于从Web服务器获取资源。传统...