关于跨域的问题解决方法
2017-12-26 17:09
155 查看
浏览器不能执行其他网站的脚本,它是由浏览器同源策略造成的,也就是浏览器对javascipt的限制
同源就是指:端口/协议/域名相同
localhost和127.0.0.1都是指向本机,也属于跨域
浏览器执行javaScript脚本时,会检查这个脚本是不是属于哪个页面,如果不是同源页面,就不会执行
解决跨域的办法:
1.JSONP:动态创建一个<script>标签,同时src到不同源的服务端url,服务端就会返回一段可执行的js代码;
JSONP的缺点:
①.只支持GET和JSON格式的数据,传输的数据有限制;
②.JSONP没有关于JSONP的错误处理,动态执行失败,没有任何提示;
2.CORS:就是服务器实现cors接口,就可以跨域通信了,IE10+都是支持的
3.反向代理:通过同源服务器去请求其他服务器的信息再发给客户端;
4.通过修改document.domain来跨子域:
将子域和主域的document.domain设为同一个主域,
前提条件:这两个域名必须同一个基础域名,协议和端口都的一样;
同源就是指:端口/协议/域名相同
localhost和127.0.0.1都是指向本机,也属于跨域
浏览器执行javaScript脚本时,会检查这个脚本是不是属于哪个页面,如果不是同源页面,就不会执行
解决跨域的办法:
1.JSONP:动态创建一个<script>标签,同时src到不同源的服务端url,服务端就会返回一段可执行的js代码;
JSONP的缺点:
①.只支持GET和JSON格式的数据,传输的数据有限制;
②.JSONP没有关于JSONP的错误处理,动态执行失败,没有任何提示;
2.CORS:就是服务器实现cors接口,就可以跨域通信了,IE10+都是支持的
3.反向代理:通过同源服务器去请求其他服务器的信息再发给客户端;
4.通过修改document.domain来跨子域:
将子域和主域的document.domain设为同一个主域,
前提条件:这两个域名必须同一个基础域名,协议和端口都的一样;
相关文章推荐
- canvas关于getImageData跨域问题解决方法
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- 关于js的ajax方法导致跨域问题的解决办法
- js关于getImageData跨域问题的解决方法
- 关于JS的Ajax bf52 方法导致跨域问题的解决办法
- flex关于跨域访问会引起安全沙箱问题,下面是在网上找到的解决安全沙箱问题的方法
- 关于Cookie跨域操作遇到的问题及解决方法
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- 关于前端开发的跨域问题以及解决方法jsonp
- 关于JS调用Java后台API跨域问题的解决方法
- 关于Cookie跨域操作遇到的问题及解决方法
- 关于在做java的Web开发中遇到跨域访问的问题的解决方法汇总
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- DataGuard - 一个关于Physical Standby中recover问题的解决方法
- DataGuard - 一个关于Physical Standby中recover问题的解决方法
- 关于在使用Exchange2003系统时无法向sina,yahoo,hotmail等邮箱发送邮件问题的解决方法
- 关于SQL安装时出现的有程序安装挂起问题的解决方法
- 关于水晶报表中CrystalDecisions.CrystalReports.Engine.LogOnException问题的解决方法
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结.
- 关于spoolsv.exe进程耗尽CPU资源问题的解决方法