前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javascript跨域无需修改服务器端

javascript跨域无需修改服务器端

作者头像
战神伽罗
发布2019-07-24 14:22:08
1.2K0
发布2019-07-24 14:22:08
举报

1.图像ping

由于img标签可以跨域,因此在onload和onerror事件中可以请求跨域,只能get请求,无法访问服务器的响应文本,只能用于单向通信。

代码语言:javascript
复制
var img=new Image();
img.onload=img.onerror=function(){
alert("done!");
};
img.src="http://www.example.com/test?name=nicholas";

2.jsonp

两部分:url和回调;在地址中指定callback。如:http//freegeoip.net/json/?callback=handleResponse

代码语言:javascript
复制
function handleResponse(response){
alert("your IP address "+response.ip);
}

var script=document.createElement("script");
script.src="http://freeoip.net/json/?callback=handleResponse";
document.body.insertBefore(script,document.body.firstChild);

3.comet

客户端请求,服务端有数据时才返回,返回后关闭连接,即长轮询

4.服务器发送事件SSE(server-sent events)

var source=new EventSource("myevents.php");

source.onmessage=function(event){

var data=event.data;

}

source.close();

5.web sockets双向通讯,如聊天室

var socket=new WebSocket("ws://www.example.com/server.php");

socket.close();

参考资料:《javascript高级程序设计》第3版,其他跨域技术章节

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档