1.为什么提出跨域资源共享(CORS)?
因为XHR实现ajax的安全限制是:XHR 对象只能访问与包含它的页面位于同一个域中的资源
2.如何实现跨域?(跨浏览器)
// 跨浏览器创建并返回CORS对象
// param method : 请求的方式, get or post
// param url : 跨域请求的url
// return xhr : 返回的跨域资源对象
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, true); // CORS都是通过异步的请求
} else if (typeof XDomainRequest != "undefined"){ // IE
vxhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var request = createCORSRequest("get", "http://localhost/aaa/dome2.php");
if (request){
// 用于替代onreadystatechange 检测成功,表示接受数据完毕
request.onload = function(){
// 对响应的信息进行处理
alert(request.responseText); // 取得响应的内容
};
// 用于替代onreadystatechange 检测错误。
request.onerror = function(){
// 对响应的信息进行处理
};
// 用于停止正在进行的请求。
request.onabort = function(){
// 对响应的信息进行处理
alert(request.responseText);
};
// 跨域发送请求
request.send();
}
跨域资源共享
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...