浏览器跨域办法

简介: 参考文章: https://www.cnblogs.com/2050/p/3191744.html开发中的跨域办法总结一、jsonp实现思路:前端请求:html页面发送请求的时候在请求地址上加上参数callback=xxx,比如callba...

参考文章: https://www.cnblogs.com/2050/p/3191744.html
开发中的跨域办法总结

一、jsonp

实现思路:
前端请求:html页面发送请求的时候在请求地址上加上参数callback=xxx,比如callback=test(当然callback也可以是别的,需要跟服务器端约定),同时,本地必须有一个叫test的函数
服务器端:接收到请求的时候,解析参数,得到前端传来的函数名test,然后给前端返回数据的时候把test也带上,比如要返回{a:2,b:3},实际返回的是字符串'test({"a":"2","b":"3"})',而浏览器收到这段字符串的时候,就会自动的去执行字符串里的代码,最终执行的就是test({a:2,b3}),就拿到了实际的数据{a:2,b:3};

二、通过修改document.domain来跨子域

实际就是把两个域让他们的变成同域的,有条件限制,必须主域相同才可以

三、使用window.name来进行跨域

在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name,

四、使用HTML5中新引进的window.postMessage方法来跨域传送数据

一个页面有几个框架的那种情况下,每一个框架都有一个window对象,他们之间可以通过postMessage传递信息

五、服务器设置跨域

php、java等都可以设置允许哪些命名访问

六、给浏览器设置跨域(开发时常用)

七、使用代理

我们经常使用webpack就可以设置

目录
相关文章
|
8月前
|
前端开发 安全 应用服务中间件
前端经典面试题 | 浏览器跨域
前端经典面试题 | 浏览器跨域
|
6天前
|
JSON 前端开发 安全
浏览器跨域限制:为什么浏览器不能跨域发送Ajax请求?
浏览器跨域限制:为什么浏览器不能跨域发送Ajax请求?
40 0
|
8月前
关闭浏览器的跨域校验
关闭浏览器的跨域校验
|
8月前
|
Web App开发
谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域
谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域
460 0
|
10月前
|
JSON 移动开发 前端开发
浏览器:跨域及解决方法
浏览器:跨域及解决方法
313 0
|
11月前
|
Web App开发 存储 安全
浏览器跨域的配置
浏览器跨域的配置
浏览器跨域的配置
|
前端开发 Python
Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略
Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略
344 0
|
Web App开发 缓存 网络协议
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
453 0
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
|
JavaScript
IE8、IE9解决浏览器跨域。
IE8、IE9解决浏览器跨域。