CodeIgniter
Django解决跨域问题跨域在本地前后端开发避免不了的问题了,之前用Django开发同样遇到跨域问题,不过Django针对跨域也有自己的解决方案,想了解的可以参考Django实战004:跨域请求问题解决(当然这个问题可以在Vue解决),那么CodeIgniter中该如何来解决跨域问题呢?
为了解决跨域问题,就需要增加请求头来设置跨域规则Access-Control-Allow-Origin来规范跨域数据传输。在请求头header中设置Access-Control-Allow-Origin:*即允许所有源访问,那么CodeIgniter该如何添加header('Access-Control-Allow-Origin:*')这个参数呢?
即然时跨域访问 ,那么就是针对所有的接口了, 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,这样就一劳永逸啦。