浏览器中使用js跨域获取数据(HTTP部分)

本文介绍了JavaScript在浏览器中跨域获取数据的几种方法,包括CORS(跨资源共享)机制,通过设置document.domain实现同源策略的规避,图像Ping的简单GET请求,JSONP的双向通信,以及Comet(长轮询和流)和WebSocket的实时通信。每种方法有其特点和适用场景,如CORS的安全性和灵活性,JSONP的安全隐患,WebSocket的高效双向通信等。
摘要由CSDN通过智能技术生成

1.CORS

    CORS(Corss-Origin Resource Sharing,跨资源共享),基本思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应的成功或失败。即给请求附加一个额外的Origin头部,其中包含请求页面的源信息(协议、域名和端口),以便服务器根据这个头部决定是否给予响应。

2.document.domain

    将页面的document.domain设置为相同的值,页面间可以互相访问对方的JavaScript对象。

注意:
    不能将值设置为URL中不包含的域;
    松散的域名不能再设置为紧绷的域名。

3.图像Ping

var img=new Image();
img.onload=img.onerror=function(){
... ...
}
img.src="url?name=value";

    请求数据通过查询字符串的形式发送,响应可以是任意内容,通常是像素图或204响应。
图像Ping最常用于跟踪用户点击页面或动态广告曝光次数。

缺点:

    a. 只能发送GET请求;
    b. 无法访问服务器的响应文本,只能用于浏览器与服务器间的单向通信。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值