Js异步编程与Ajax
ajax, asynchronous javascript +xml,这项技术能够向服务器请求额外的数据而不用卸载页面。核心是 xmlhttprequest(xhr)对象,xhr为向服务器发送请求和解析服务器相应提供了接口,也就是说你点击了按钮,解析服务器返回的报文,不用刷新页面就能利用dom将新数据插到页面中。
ie5是第一个引用xhr对象的浏览器,但是他是通过MSXML库中的一个ActiveX对象实现的,因此要使用他
//适用于ie7之前的版本
function createXHR()
{
if(typeof arguments.callee.activeXString !="string")
{
var versions=[ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"],i,len;
for(i=0,len=versions.length;i<len;i++)
{
try
{
new ActiveXOjbect(versions[i]);
break;
}
catch(ex)
{}
}
}
return new ActiveXObject(arguments.callee.activeXString);
}
ie7+ firefox opera chrome safari都支持原生的xhr对象,所以直接下面写:
var xhr=new XmlHttpRequest();综合:
function createXHR()
{
if(typeof XmlHttpRequest!="undefined")
{return new XmlHttpRequest();}
else if( typeof ActiveXObject !="undefined")
{
if(typeof arguments.callee.activeXString !="string")
{
var versions=[ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"],i,len;
for(i=0,len=versions.length;i<len;i++)
{
try
{
new ActiveXOjbect(versions[i]);
break;
}
catch(ex)
{}
}
}
return new ActiveXObject(arguments.callee.activeXString);
}
else
{ throw new Error("No xhr available");}
}
posted on 2015-12-06 22:54 iamrenpeng 阅读(290) 评论(0) 编辑 收藏 举报