转帖地址:http://dotnet.aspx.cc/article/8d01fd5e-b2c1-40f5-8cea-bc2197fb9bd8/read.aspx
作者:孟宪会 发表于:2010-01-11 09:57:04
4,IE8 中的实现方法
IE8已经开始支持跨域访问资源了,但是,IE8提供的功能还比较简单,可以进行简单的请求,下面是一个使用的例子:
HTML 代码
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > 孟宪会之AJAX跨域请求测试 </ title >
</ head >
< body >
< input type ='button' value ='开始测试' onclick ='crossDomainRequest()' />
< div id ="content" ></ div >
< script type ="text/javascript" >
// <![CDATA[
var xhr = new XDomainRequest();
var url = ' http://dotnet.aspx.cc/SimpleCrossSiteRequests.aspx ' ;
function crossDomainRequest() {
document.getElementById( " content " ).innerHTML = " 开始…… " ;
if (xhr) {
xhr.open( ' GET ' , url);
xhr.onload = handler;
xhr.send();
} else {
document.getElementById( " content " ).innerHTML = " 不能创建 XDomainRequest " ;
}
}
function handler(evtXHR) {
document.getElementById( " content " ).innerHTML = " 结果: " + xhr.responseText;
}
// ]]>
</ script >
</ body >
</ html >
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > 孟宪会之AJAX跨域请求测试 </ title >
</ head >
< body >
< input type ='button' value ='开始测试' onclick ='crossDomainRequest()' />
< div id ="content" ></ div >
< script type ="text/javascript" >
// <![CDATA[
var xhr = new XDomainRequest();
var url = ' http://dotnet.aspx.cc/SimpleCrossSiteRequests.aspx ' ;
function crossDomainRequest() {
document.getElementById( " content " ).innerHTML = " 开始…… " ;
if (xhr) {
xhr.open( ' GET ' , url);
xhr.onload = handler;
xhr.send();
} else {
document.getElementById( " content " ).innerHTML = " 不能创建 XDomainRequest " ;
}
}
function handler(evtXHR) {
document.getElementById( " content " ).innerHTML = " 结果: " + xhr.responseText;
}
// ]]>
</ script >
</ body >
</ html >
另外,IE8的实现方法与其他浏览器不同。更多内容请参考 XDomainRequest 对象,地址是:
http://msdn.microsoft.com/zh-cn/library/cc288060(VS.85).aspx
最后,愿意测试的朋友可以访问这个 http://dotnet.aspx.cc/SimpleCrossSiteRequests.aspx 地址进行“简单请求”的测试,本页面允许任何地址进行跨域访问。