当前位置: 首页 > news >正文

typora wordpress/东莞百度快照优化排名

typora wordpress,东莞百度快照优化排名,浙江省住房和城乡建设厅网站,千图网在线编辑百度的Ajax.js文件(其实就在百度页面上挂着呢……)/**//*Title:[Ajax.js简介]文件名:ajax.js版本:v1.0.0-100版权:(c)Baidu.com作者:chenlin简介:>这个文件是对xmlhttp异步请求进行了简单的封装,>主要是将prototytp进行了简化,如果要使用复杂的功能…
百度的Ajax.js文件(其实就在百度页面上挂着呢……)

/**//*
Title:[Ajax.js简介]
文件名:ajax.js
版本:v1.0.0-100
版权:(c)Baidu.com
作者:chenlin
简介:
>这个文件是对xmlhttp异步请求进行了简单的封装,
>主要是将prototytp进行了简化,如果要使用复杂的功能可以使用prototype的ajax.js
>外部使用时,主要调用方式为
>varmyAjax=newAjax.Request(
>url,
>{
>method:'get',
>asynchronous:true,
>onSuccess:function(xmlHttp)
>{
>},
>onFailure:function(xmlHttp){
>},
>onException:function(exception){
>}
>}
>);
>另可使用myAjax.header()和myAjax.evalResponse();
>其他的都为内部调用函数,外部尽量不要使用。Class:Ajax.Request类
*/

Function.prototype.bind
=function(object)...{
var__method=this;
returnfunction()...{
__method.apply(object,arguments);
}

}
;
/**//*
基础ajax类
>封装了一个函数:Ajax.getTransport()返回一个xmlhttp对象
>这个类里的函数一般不使用。
*/

varAjax=...{
getTransport:
function()...{
returnTry.these(
function()...{returnnewActiveXObject('Msxml2.XMLHTTP')},
function()...{returnnewActiveXObject('Microsoft.XMLHTTP')},
function()...{returnnewXMLHttpRequest()}
)
||false;
}

}
;
/**//*
基础ajax.base类
>封装了三个函数:
>setOptions:设置进行ajax请求的参数
>responseIsSuccess:判断异步请求返回是否成功
>responseIsFailure:判断异步请求返回是否失败
>这个类里的函数也没有必要在实际中使用,只有在扩展是才会使用到
*/

Ajax.Base
=function()...{};
Ajax.Base.prototype
=...{
setOptions:
function(options)...{
this.options=...{
method:
'post',//异步请求方法,可以为get和post,此处为默认post
asynchronous:true,//设置是否为异步方式发送,
parameters:''//传递参数,参数都是url编码格式a=valueOfA&b=valueOfB
}

Object.extend(
this.options,options||...{});//以上三个属性为异步请求的基本属性。
}
,
responseIsSuccess:
function()...{
returnthis.transport.status==undefined
||this.transport.status==0
||(this.transport.status>=200&&this.transport.status<300);
}
,
responseIsFailure:
function()...{
return!this.responseIsSuccess();
}

}
;
/**//*
*生成一个类Ajax.Request
*/

Ajax.Request
=newClass();
/**//*
定义了xmlhttp请求的状态。
>0(未初始化)对象已建立,但是尚未初始化(尚未调用open方法)
>1(初始化)对象已建立,尚未调用send方法
>2(发送数据)send方法已调用,但是当前的状态及http头未知
>3(数据传送中)已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
>4(完成)数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
*/

Ajax.Request.Events
=['Uninitialized','Loading','Loaded','Interactive','Complete'];
/**//*
*Ajax.Request对象,需要实例化对象,
*
*/

Ajax.Request.prototype
=Object.extend(newAjax.Base(),...{
initialize:
function(url,options)...{
this.transport=Ajax.getTransport();//返回xmlhttp对象
this.setOptions(options);//设置请求的参数,在初始化时写
this.request(url);//进行异步请求
}
,
request:
function(url)...{
varparameters=this.options.parameters||'';
if(parameters.length>0)parameters+='&_=';
try...{
this.url=url;
/**//*
*如果是get方法的化,就将parameters里的内容添加到url里
*/

if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/?/)?'&':'?')+parameters;
/**//*
*调用xmlhttp的请求函数,进行请求
*/

this.transport.open(this.options.method,this.url,
this.options.asynchronous);
/**//*
*如果是异步请求,对onreadystatechange绑定函数,对于为什么要用定时器,没10ms将状态设为Loading,我也没有明白。
*/

if(this.options.asynchronous)...{
this.transport.onreadystatechange=this.onStateChange.bind(this);
setTimeout((
function()...{this.respondToReadyState(1)}).bind(this),10);
}

this.setRequestHeaders();//设置请求里的头部信息,包括编码等信息
/**//*
*对与post方式请求,也可以通过options里的postBody来设,这里就将postbody放到参数里进行传递
*/

varbody=this.options.postBody?this.options.postBody:parameters;
/**//*
*发送post数据
*/

this.transport.send(this.options.method=='post'?body:null);
}
catch(e)...{
this.dispatchException(e);
}

}
,
setRequestHeaders:
function()...{
varrequestHeaders=['X-Requested-With','XMLHttpRequest'];
if(this.options.method=='post')...{
requestHeaders.push(
'Content-type',
'application/x-www-form-urlencoded');
/**//*Force"Connection:close"forMozillabrowserstoworkaround
*abugwhereXMLHttpReqeuestsendsanincorrectContent-length
*header.SeeMozillaBugzilla#246651.
*/

if(this.transport.overrideMimeType)
requestHeaders.push(
'Connection','close');
}

if(this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders,
this.options.requestHeaders);
for(vari=0;i<requestHeaders.length;i+=2)
this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);
}
,
/**//*
*状态改变时,执行respondToReadyState,判断当状态为1时不执行。
*/

onStateChange:
function()...{
varreadyState=this.transport.readyState;
if(readyState!=1)
this.respondToReadyState(this.transport.readyState);
}
,
/**//*
*返回异步请求返回文件的头部信息,name表示名字,函数返回参数值
*/

header:
function(name)...{
try...{
returnthis.transport.getResponseHeader(name);
}
catch(e)...{}
}
,
/**//*
*如果返回header信息里包括X-JSON/xxx,则会执行xxx的内容
*不是很明白这里,为什么要eval
*/

evalJSON:
function()...{
try...{
returneval(this.header('X-JSON'));
}
catch(e)...{}
}
,
/**//*
*很简单的函数,如果返回Content-type为text/javascript,则会调用此函数进行执行,我认为这处用途不大
*/

evalResponse:
function()...{
try...{
returneval(this.transport.responseText);
}
catch(e)...{
this.dispatchException(e);
}

}
,
/**//*
*根据返回的状态决定该执行的步骤
*/

respondToReadyState:
function(readyState)...{
varevent=Ajax.Request.Events[readyState];
vartransport=this.transport,json=this.evalJSON();
if(event=='Complete')...{
/**//*
*此处如果状态处于完成状态则会进行分析分别调用onSuccess和onFailure,所以一般onComplete不调用为好
*/

try...{
(
this.options['on'+this.transport.status]
||this.options['on'+(this.responseIsSuccess()?'Success':'Failure')]
||function()...{})(transport,json);
}
catch(e)...{
this.dispatchException(e);
}

/**//*
*此处对返回js进行了eval
*/

if((this.header('Content-type')||'').match(/^text/javascript/i))
this.evalResponse();
}

try...{
(
this.options['on'+event]||function()...{})(transport,json);
}
catch(e)...{
this.dispatchException(e);
}

/**//*
*AvoidmemoryleakinMSIE:cleanuptheoncompleteeventhandler
*/

if(event=='Complete')
this.transport.onreadystatechange=function()...{};
}
,
/**//*
*错误时调用,一般外部使用onException:function(){}
*/

dispatchException:
function(exception)...{
(
this.options.onException||function()...{})(this,exception);
}

}

);
http://www.jmfq.cn/news/5124097.html

相关文章:

  • 网页设计师中级证书有用吗/梁水才seo优化专家
  • 简洁的门户网站/seo关键词排名优化教程
  • 自动打开多个同网站网页/sem竞价托管费用
  • 网站欢迎屏怎么做/发外链的论坛
  • 淘宝seo搜索优化/西安企业seo外包服务公司
  • 瑞安app开发/seo外包公司哪家好
  • vs2013做网站/微信朋友圈广告推广代理
  • 上海找做网站公司好/互联网推广渠道有哪些
  • 上海市建交人才网/seo排名优化哪家好
  • 最好的做网站公司有哪些/电商推广和网络推广的区别
  • 中国工程建设标准化协会官方网站/产品如何做网络推广
  • 北京公司网站建设/百度 营销中心
  • 建站案例/武汉电脑培训学校有哪些
  • 自动生成网站地图怎么做/中山seo排名
  • 做铝锭的网站/搜索引擎有哪些平台
  • 哪个网站是专门做装修的/seo企业建站系统
  • 网页设计个人总结/唐山seo排名优化
  • 口碑好的网站建设公司哪家好/搜索引擎有哪些网站
  • 宿迁网站建设价格低/盐城seo网站优化软件
  • 建设图片展示网站/武汉网络关键词排名
  • 税务局网站怎么做财务报表/浙江百度推广
  • 淘宝客做自己的网站/南宁整合推广公司
  • 嘉兴 做企业网站/优化大师手机版
  • 科技建站网站源码/百度提交入口的网址
  • 网站做百度排名/合肥建站公司seo
  • 烟台 网站建设多少钱/百度广告收费
  • 网页版qq安全中心登录入口/seo优化百度技术排名教程
  • wordpress 娱乐插件/seo提升排名
  • 做音箱木工网站/网络推广是做什么工作
  • 电商网站推荐/seo系统培训班