专题:跨域与CORS解决方法
跨域
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。
非同源会导致:
- 无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB
- 无法接触非同源网页的 DOM
- 无法向非同源地址发送 AJAX 请求
跨域解决办法有以下几种:
- 设置document.domain解决无法读取非同源网页的 Cookie问题
- 跨文档通信 API:window.postMessage( )
- JSONP:网页通过添加一个<script>元素,向服务器请求 JSON 数据,服务器收到请求后,将数据放在一个指定名字的回调函数的参数位置传回来
- CORS:它是 W3C 标准,属于跨域 AJAX 请求的根本解决方法
- 设置webpack本地代理
- websocket是HTML5 的一个持久化的协议,它实现了浏览器与服务器的全双工通信,同时也是跨域的一种解决方案
- 使用 nginx 反向代理实现跨域,是最简单的跨域方式。只需要修改 nginx 的配置即可解决跨域问题,支持所有浏览器,支持 session,不需要修改任何代码,并且不会影响服务器性能。
本文专题讲述CROS。
CORS(基于JQuery AJAX)
CORS跨域资源分享(Cross-Origin Resource Sharing)
前端代码(基于JQuery AJAX方法)
后端Apache服务器需要修改的配置(httpd.conf文件)
关于Apache服务器的安装及配置请参考
Windows下安装及配置Apache服务器
关于PHP安装及配置请参考
Windows下应用于Apache服务器的PHP的安装和配置
后端get.php代码
这样就实现了跨域调用
编辑于 2023-01-20 21:54
・IP 属地上海