您的位置:首页 > 理论基础 > 计算机网络

XMLHttpRequest Level 2的简单例子

2010-05-27 06:11 363 查看
首先根据后面给出的网址对目标网站做一些设置,让它充许跨域访问:mozillaw3cmsdn

新设计出来的跨域方案是极其优秀的,IE8是XDomainRequest,Firefox3.5、Safari4、Chrome 2等是沿用原来的XMLHttpRequest对象,它们都拥有一些相同的方法处理各种回调:

onload :请求成功时调用。

onerror:请求失败时调用。

onabort:请求中断时调用(使用abort方法)

因此这跨域请求是非常简单了!

if("1"[0]){//只允许IE8与较新的标准浏览器进入下面逻辑
var xhr=window.XDomainRequest?new XDomainRequest:new XMLHttpRequest;
try{
xhr.onload=function(){
//由于返回的JSON过长,我们在演示时把它截短一些
alert([xhr.responseText.slice(0,1000),xhr]);
};
xhr.open("GET","http://ss-o.net/json/wedataAutoPagerize.json");
xhr.send();
}catch(e){
alert("请求失败: "+e.message);
}
}


<!doctype html>
<html>
<head>
<title>XMLHttpRequest Level 2 by 司徒正美</title>
<meta charset="utf-8"/>
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<meta name="keywords" content="XMLHttpRequest Level 2 by 司徒正美" />
<meta name="description" content="XMLHttpRequest Level 2 by 司徒正美" />
<script type="text/javascript" charset="utf-8">
if("1"[0]){//只允许IE8与较新的标准浏览器进入下面逻辑 var xhr=window.XDomainRequest?new XDomainRequest:new XMLHttpRequest; try{ xhr.onload=function(){ //由于返回的JSON过长,我们在演示时把它截短一些 alert([xhr.responseText.slice(0,1000),xhr]); }; xhr.open("GET","http://ss-o.net/json/wedataAutoPagerize.json"); xhr.send(); }catch(e){ alert("请求失败: "+e.message); } }
</script>
</head>
<body>
<h1>XMLHttpRequest Level 2 by 司徒正美</h1>
<p><a href="http://ss-o.net/json/wedataAutoPagerize.json">http://ss-o.net/json/wedataAutoPagerize.json</a></p>
<p><a href="http://ss-o.net/json/wedataLDRize.json">http://ss-o.net/json/wedataLDRize.json</a></p>
</body>
</html>

运行代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: