11.第三篇:代理模式(跨域问题)

本文摘自 《JavaScript 设计模式》张容铭 著 版权归原作者所有

  • 端口、协议、域名、IP不一致都会产生跨域问题。

1.站长统计

// 利用img之类的标签通过src属性可以向其他域下的服务器发送请求。
// 但是此类请求是get请求,而且是单向的,不会有响应数据。
// 统计代理
var Count = (function(){
  // 缓存图片
  var img = new Image();
  // 返回统计函数
  return function(param){``
    // 统计请求字符串
    var str = 'http://www.count.com/a.git?';
    // 拼接请求字符串
    for (var i in param){
      str += i + '=' + param[i]
    }
    // 发送统计请求
    _img.src = str
  }
})();
Count({num:10})

2.JSONP(比较常用且常见的)

//利用script标签跨域。(CDN)
<script>
function jsonpCallBack(res,req){
  console.log(res,req);
}
</script>  
<scrtipt src="http://localhost/test/jsonp.php?callback=jsonp_CallBack&data=getJsonpData"></script>

3.代理模式(proxy)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容