首页 » Web前端 » codeigniter放到php技巧_PHP实战004CodeIgniter跨域问题解决

codeigniter放到php技巧_PHP实战004CodeIgniter跨域问题解决

访客 2024-12-09 0

扫一扫用手机浏览

文章目录 [+]

为什么存在跨域问题

由于浏览器采取了同源策略(保护Cookie)规定某域下的客户端在没明确授权的情形下,不能读写另一个域的资源,而前后端分离开拓时前后真个项目常日都是单独启动的(就不在同一个端口下了)。
当前端向后台发起要求想要获取后真个数据时,就会受到浏览器同源策略的约束,前端无法收到数据。

Django办理跨域问题

跨域在本地前后端开拓避免不了的问题了,之前用Django开拓同样碰着跨域问题,不过Django针对跨域也有自己的办理方案,想理解的可以参考Django实战004:跨域要求问题办理(当然这个问题可以在Vue办理),那么CodeIgniter中该如何来办理跨域问题呢?

codeigniter放到php技巧_PHP实战004CodeIgniter跨域问题解决

为理解决跨域问题,就须要增加要求头来设置跨域规则Access-Control-Allow-Origin来规范跨域数据传输。
在要求头header中设置Access-Control-Allow-Origin:即许可所有源访问,那么CodeIgniter该如何添加header(\"大众Access-Control-Allow-Origin:\"大众)这个参数呢?

codeigniter放到php技巧_PHP实战004CodeIgniter跨域问题解决
(图片来自网络侵删)

即然时跨域访问 ,那么便是针对所有的接口了, CodeIgniter的业务逻辑都是在Controllers中完成的,以是我们在进入Controllers方法之前就必须添加这个设置,在Controllers中我们可以看到在实行类之前先调用了require APPPATH. 'core/Base_Controller.php'文件,Base_Controller类同样继续了CI_Controller,以是这里我们可以在Base_Controller中添加Header设置,然后在新增Controllers继续Base_Controller,这样每个页面就都继续了Header中的设置了。

打开core/Base_Controller.php文件,在function __construct()方法中添加header(\"大众Access-Control-Allow-Origin:\"大众),代表许可所有源访问,你也可以指定访问源,比如http://localhost:8000,这样就一劳永逸啦。

欢迎关注本人的"大众年夜众号:编程书信

或者搜索"大众年夜众微旗子暗记:ProgramNotes,文章也会在"大众号更新

相关文章