CodeIgniter解决跨域问题_weixin_34319374的博客-CSDN博客

跨域问题一般都是在后端也就是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格式的报文

Original url: Access
Created at: 2020-02-18 23:33:53
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论