博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分析JavaScript的跨域原理(jsonp)
阅读量:6317 次
发布时间:2019-06-22

本文共 744 字,大约阅读时间需要 2 分钟。

hot3.png

            前段时间给朋友分析了下常用的jsonp的跨域原理,跨域的方式有很多种,这里简单记录一种jsonp,阐述一下分析思想,分析过程,找到解决问题的方式。

            1.JavaScript怎么跨域

            2.为什么会出现跨域问题

            3.常用的跨域插件是什么

            4.为什么<script src=""></script>不会产生跨域问题

            5.java后台跨域的处理是什么原理

          跨域方式?

         (1) document.domain+iframe的设置

         (2) 利用iframe和location.hash

          (3)动态创建script

         第三种也是我们这里主要分析的方式。

         在我们常用的跨域解决方案就是,使用jquery 的ajax请求,url带上一个callback=? 这样就完成了跨域请求。具体是怎么实现的?

         做过跨域请求的人,都知道callback会变成一个随机函数名,在服务端返回数据的时候,会将数据以JavaScript函数调用的方式包裹,列如 jquery_33454523443543('我是数据参数')

        ok到这里我们心里应该有点疑惑,这难道是要在客户端执行?

        为什么<script src=""></script>不会产生跨域问题

         既然<script >标签不会产生跨域问题,那么我们是否可以在这上面做些文章?

        分析到这里我们应该有所明悟,所谓的跨域就是使用JavaScript的标签特性,进行二次封装。得到后台的数据(生产的JavaScript函数)在浏览器执行,最终得到的效果就表现成跨域。

         jQuery的callback函数应该也懂了?

         服务端为何要使用匿名函数包裹数据?

         分析就记录到这里.....  

转载于:https://my.oschina.net/u/1538376/blog/485262

你可能感兴趣的文章
李开复教你如何给自己的简历打分
查看>>
C++内存布局之虚拟继承
查看>>
Sqlserver 数据库基本查询
查看>>
图书馆维护系统总结
查看>>
[hadoop源码阅读][5]-counter的使用和默认counter的含义
查看>>
SAP HUM 如何对一个HU做上架?
查看>>
LINUX系统中动态链接库的创建与使用{补充}
查看>>
三维视觉国际会议首度在中国举办
查看>>
达索系统入手XFlow开发商 强化3DEXPERIENCE平台的仿真能力
查看>>
Loadrunner 性能测试服务器监控指标
查看>>
自动化运维工具之ansible
查看>>
memcached的安装
查看>>
freebsd系统安装
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
JavaScript函数eval()
查看>>
Linux LTP 测试框架
查看>>
log4j 每次运行生成文件
查看>>
“经常加班”有误区
查看>>
jquery各种事件触发实例
查看>>