资讯专栏INFORMATION COLUMN

CodeIgniter解决跨域问题

codeGoogle / 2990人阅读

摘要:跨域问题一般都是在后端也就是端处理。代码例子为说回正题,最近选择作为后台,用解决跨域问题大同小异,在中,按照下面的代码这么写也可以,但是我个人推荐第一行的写法返回格式的报文现在看来确实很简单也很相似,但是在解决过程中也遇到一些问题。

跨域问题一般都是在后端也就是server端处理。先拿java举例,一般是在返回前端时获取response对象,设置返回报文header中Access-Control-Allow-Origin的属性。代码例子为:

response().setHeader("Access-Control-Allow-Origin", "*");

说回正题,最近选择codeigniter作为后台server,用ci解决跨域问题大同小异,在controller中,按照下面的代码:

header("Access-Control-Allow-Origin: * "); 
//$this->output->set_header("Access-Control-Allow-Origin: * "); // 这么写也可以,但是我个人推荐第一行的写法
$this->output->set_output(json_encode(array("name" => "hello woody"))); //返回json格式的报文

现在看来确实很简单也很相似,但是在解决过程中也遇到一些问题。

错误代码一

echo "hello woody";    //在header前使用echo语句,报php语法错误
header("Access-Control-Allow-Origin: * "); 

错误代码二

echo "hello woody";    //在$this->output->set_header前后使用echo语句,前端报跨域错误
$this->output->set_header("Access-Control-Allow-Origin: * ");

正确代码一

$this->output->set_header("Access-Control-Allow-Origin: * ");
$this->output->set_output(json_encode(array("name" => "hello woody"))); //返回json格式的报文

正确代码二

header("Access-Control-Allow-Origin: * "); 
$this->output->set_output(json_encode(array("name" => "hello woody"))); //返回json格式的报文

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22768.html

相关文章

  • CodeIgniter用hook钩子实现Interceptor拦截器功能

    摘要:今天用框架的钩子实现一个例子,在每一次请求后,在返回报文中的头部中添加设置跨域访问的属性。也就是在每一次处理请求后执行。创建自定义钩子文件在中新增文件说明此方案方便低耦合无需要修改及可以随时启用或变更 今天用ci框架的钩子实现一个例子,在每一次http请求后,在返回报文中的头部header中添加设置跨域访问的属性。 1.启用钩子 钩子特性可以在 application/config/c...

    Jaden 评论0 收藏0
  • 【docker】 bind-mount或者COPY时需要注意 用户、文件权限 的问题

    摘要:问题产生原因最近在使用的时候经常遇到权限问题。如果权限不够,就会出现问题。从上图可以看到,主进程的拥有者是,可以读写任何文件,权限肯定没问题。要解决这个问题,其实就是让用户有权读写以及其中的文件。 问题产生原因 最近在使用docker的时候经常遇到权限问题。通过这个stackoverflow回答,我明白了问题出现的主要原因:Docker在进行bind mount的时候,或者在进行COP...

    muddyway 评论0 收藏0
  • CodeIgniter在nginx下的配置

    摘要:今天在把项目放到服务器上的时候,死活路由不到页面,要么是,要么都是页面,很烦。服务器环境位报错误的原因原因是默认不支持这种格式,当你浏览器里输入的时候,会认为你要访问目录下的文件夹里的,所以会报错误。控制器的文件名称不能小写。 今天在把ci项目放到服务器上的时候,死活路由不到页面,要么是404,要么都是welcome页面,很烦。到网上搜到一大堆方法,大多不全面或者不好使,有的干脆就一行...

    MadPecker 评论0 收藏0
  • Codeigniter 4.0-dev 版源码学习笔记之三——核心文件 Codeigniter.ph

    摘要:行,是否强制访问。行,尝试处理此次请求,详细见方法。至此,的执行主流程完毕。小结是的核心文件,它被调用后,完成了诸多的主流程操作。此文可以转载,但转载前需要发邮件到进行沟通,未沟通的均视作侵权。 前言 Codeigniter.php 是 CI 4 的核心所在,在这里接收并处理了 request 请求,安全检查,缓存处理, URL 解析以及路由匹配,执行过滤器,加载运行 Controll...

    alighters 评论0 收藏0
  • CI-CodeIgniter中“超级对象”:$CI =& get_instance()

    摘要:要你自定义的类库中访问的原始资源你必须使用函数这个函数返回一个一般来说在你的控制器函数中你可以通过调用任何可用的函数只直接作用在你自己的控制器模型和视图中当你在自定义类中想使用原始类时你可以这样做首先定义对象赋给一个变量一旦定义 要你自定义的类库中访问CodeIgniter的原始资源,你必须使用 get_instance() 函数.这个函数返回一个CodeIgniter super o...

    blankyao 评论0 收藏0

发表评论

0条评论

codeGoogle

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<