if(/msie/i.test(navigator.userAgent)) {
window.XMLHttpRequest=function(){
var msxmls=['MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','MICROSOFT.XMLHTTP.1.0','MICROSOFT.XMLHTTP.1','MICROSOFT.XMLHTTP'];
for(var i=0;i<msxmls.length;i++){
try{
return new ActiveXObject(msxmls[i]);
} catch(e){}
}
return null;
};
}
Object.extend = function(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
};
var ajax = {
send : function(arg){
var req = new XMLHttpRequest();
if(req==null){
alert("The Browser don't support xmlhttp");
return;
}
if(req.overrideMimeTyp)req.overrideMimeType('text/xml');
var dataType = {text:'responseText',xml:'responseXML',json:'responseText'};
var options = {
url : '',
type : 'POST',
async : true,
data : null,
timeout : 0,
contentType : 'application/x-www-form-urlencoded',
encoding : 'UTF-8',
dataType : 'text',
State : ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'],
ErrorState :{"400": "Bad Request syntax error occurred",
"404": "Can not find the location of the designated resources",
"405": "type Not Allowed Request methods(GET、POST、HEAD、DELETE、PUT、TRACE and so on)Designation of resources don't apply"},
create : function(){},
success : function(){},
doing : function(){},//From start to finish,-4 State
timeout: function(){},
error : function(status,ErrorMsg,eMsg){alert("Status: "+status+"\nErrors: "+ErrorMsg+"\n "+eMsg);}
}
Object.extend(options,arg||{});
options.url += ((options.url.indexOf("?")>0)?"&":"?")+"randnum=" + Math.random();
options.type = options.type.toUpperCase();
if(options.async){
options.doing(0,options.State[0]);
req.onreadystatechange=function(){
var _state = req.readyState;
options.doing(_state,options.State[_state]);
switch(_state){
case 0:
options.create(_state,options.State[_state]);
break;
case 4:
if(req.status == 200)
options.success(options.dataType == "json" ? eval("("+req[dataType[options.dataType]]+")") : req[dataType[options.dataType]],_state,options.State[_state]);
else if( req.status >200 )
options.error(req.status,options.ErrorState[req.status],"");
req.onreadystatechange = function(){};
req = null;
break;
}
};
}
try{
req.open(options.type, options.url, options.async);
if(options.type=="POST")
req.setRequestHeader('Content-Type', options.contentType+'; charset='+options.encoding);
if(options.async && options.timeout>0){
setTimeout(function(){
try{
if(req!=null && req.readyState!=4) options.timeout();req.abort();req=null;
}
catch(e){}},options.timeout);
}
req.send(options.data);
//Not as long as status=200,There can be called an error
if(!options.async){
options.success(req[dataType[options.dataType]]);
req = null;
}
}
catch(e){
try{options.error(req.status,options.ErrorState[req.status],e);}
catch(e){options.error(0,"",e);}
finally{req.abort(); req=null;}
}
}
}
/////////////////////////////////////////////////////
ajax.send({
type: "POST",
url: "/aspx/common.aspx",
data: "action=keys&c=1&o="+o.id+"&nsid="+XmlPage.User()+"&q=" + escape(o.title) + "&s="+XmlPage.ParentId+"&p="+escape(o.p),
dataType : "xml" ,
async : true ,
doing : function(req){
if(takeinfo) takeinfo.innerHTML = XmlPage.Taking;
},
error: function(req){
if(takeinfo) takeinfo.innerHTML = XmlPage.Takerror;
},
success: function(req){
if(takeinfo) takeinfo.innerHTML = XmlPage.TakeOk;
takesate.innerHTML = "<font color='red'>Subscribers have been</font>";
XmlPage.DateSource = LoadXml("/js/subscribe.xml");
XmlPage.init();
setTimeout(function(){XmlPage.Show(XmlPage.CurrPage);},1000);
}
});
分享到:
- 2008-12-12 16:17
- 浏览 732
- 评论(0)
- 论坛回复 / 浏览 (0 / 1415)
- 查看更多
相关推荐
《 Dynatrace AJAX Edition 4.2.0.1528:深入解析与应用实践》 Dynatrace AJAX Edition 4.2.0.1528 是一款专为优化基于AJAX(Asynchronous JavaScript and XML)技术的Web应用程序性能而设计的强大工具。这个版本的...
《dynatrace-AJAX-edition软件:前端性能优化的利器》 在现代Web开发中,前端性能已经成为衡量用户体验和网站质量的重要指标。为了更好地优化前端性能,开发者们需要借助专业工具进行深入分析和测试。这里我们要...
Dynatrace AJAX Edition是一款专为Internet Explorer平台设计的JavaScript性能分析工具,它为开发者和性能测试人员提供了深入洞察网页应用性能的能力。这个工具的核心功能在于帮助用户理解和优化AJAX(Asynchronous ...
《Professional Ajax, 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由三位作者Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett共同撰写。本书在2007年由Wiley Publishing, Inc.出版,是针对网站开发、设计以及...
DynaTrace AJAX是一个运行在IE浏览器下的免费页面性能分析工具,它可以支持主流的IE6、IE7、IE8浏览器。这款工具正是DynaTrace为进入前端性能分析领域而发布的。您可以利用它来分析页面渲染时间、DOM方法执行时间,...
根据提供的信息,《Wrox Professional Ajax 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由Nicholas C. Zakas、Jeremy McPeak 和 Joe Fawcett三位作者共同编写,并于2007年由Wiley Publishing出版。下面将详细...
Ajax Starter Kit – Phil Ballard. Everything you need to start learning Ajax today! Ajax Programmer’s Toolkit with all the technologies you need to set up an Ajax development and testing environment...
前端性能测试利器,可以全方面分析网站前端代码的优劣性
IE下的前端性能分析工具,由于上传60M限制,分成2个压缩卷上传
dynatrace-AJAX-edition-4.5.0.2031.msi 目前最好用的前端性能分析工作
dynaTrace Ajax:前端性能分析利器
dynatrace 页面前端渲染速度监控,支持IE8、9。也可查看网络、服务器对单个URL的响应速度。
《专业Ajax:第二版》是Wrox出版社于2007年出版的一本关于Ajax技术的权威指南。本书由三位作者合著,分别是Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett,他们都是在Web开发领域有着丰富经验的专家。该书深入探讨...
在【 dynatrace-AJAX-edition-4.5.0.2031.msi 】这个文件中,包含的是dynaTrace AJAX工具的安装程序,版本号为4.5.0.2031。安装此版本的工具,开发者可以获得上述功能,并且可以享受该版本特定的改进和修复。在使用...
dynaTrace Ajax:前端性能分析利器
《Wrox Professional Ajax 2nd Edition》是Ajax技术领域的一本权威著作,旨在深入解析Ajax在Web开发中的应用。这本书的第二版详细介绍了Ajax技术的最新发展和实践,为开发者提供了丰富的理论知识与实战技巧。 Ajax...
**Ajax——新手快车道** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的运用极大地提升了用户体验,因为它允许页面与服务器进行异步通信,...
Ajax-gunbasic-js.zip,gunbasic js是一个库,用于快速开发基于ajax的web应用程序,这些应用程序易于独立测试。编写ajax代码只需要一行客户端js和服务器中的实现。适用于快速成型和团队开发。,ajax代表异步javascript...
Head First Ajax gives you an up-to-date perspective that lets you see exactly what you can do -- and has been done -- with Ajax. Using the unique and highly effective visual format that makes Head ...