
PHP实现跨域的几种形式
1、JSONP(JSON with padding)原理
利用html里面 标签可以加载其他域下的js这一特性,使用 src的形式来获取其他域下的数据,但是,因为是通过标签引入的,所以,会将请求到的JSON格式的数据作为js去运行处理,显然这样运行是不行的。
因此,就需要提前将返回的数据包装一下,封装成函数进行运行处理,函数名通过接口传参的方式传给后台,后台解析到函数名后在原始数据上包裹这个函数名,发送给前端。(JSONP 需要对应接口的后端的配合才能实现)php交流群:
实例: 
当 src请求到达后端后,后端会去解析callback这个参数,获取到字符串showData,在发送数据后端返回数据,用showData封装一下,即showData({"json数据"}) ,前端 标签在加载数据后,会把json数据作为showData的参数,调用函数运行。
2、CORS
CORS全称是跨域资源共享(Cross-Origin Resource Sharing),是一种 ajax 跨域请求资源的方式,支持现代浏览器,IE支持10以上。
实现方式:
当使用 HttpRequest发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求,则在返回结果中加入一个响应头:Access-Control-Allow-Origin;浏览器判断该相应头中,是否包含Origin的值,如果有,则浏览器会处理响应,我们就可以拿到响应数据,如果不包含,浏览器直接驳回,这时,我们无法拿到响应数据。
实例:
server.js 
index.html 
3、postMessage
假设有两个域名(主域域名不一致),其中 页面是允许访问调用,那么就可以用postMessage实现。
原理:a域名发送请求postMessage,b域名间听到了message事件,就处理并返回数据 
以上内容仅供参考!上就是php跨域的几种方式的详细内容,更多请关注php交流群:
继续阅读与本文标签相同的文章
AI赋能DevOps:数据驱动的全栈工程师实践
带你读《并发模式与应用实践》之一:并发简介
-
Cassandra数据迁移-BulkLoad离线工具介绍
2026-05-16栏目: 教程
-
Cassandra CDC初体验
2026-05-16栏目: 教程
-
带你读《射频集成电路及系统设计》之二:射频信号与系统
2026-05-16栏目: 教程
-
运维编排场景系列----基于镜像的日常发布
2026-05-16栏目: 教程
-
APP移动端测试点
2026-05-16栏目: 教程
