2015-11-19 91 views
2

我在CakePHP 1.3中创建了一个JSON webservice。CakePHP 1.3上的CORS

我希望能够将来自不同服务器的AJAX请求发送到此Web服务。

我知道这是Cake 2+中的一个小插曲,但我不能为我的生活找出v1.3。 Based on what I have found in the docs,我试图在我的控制器如下:

public $components = array('RequestHandler'); 

function beforeFilter() { 
    Configure::write('debug', 0); 
    $this->header('Access-Control-Allow-Origin','*'); 
    $this->header('Access-Control-Allow-Methods','*'); 
    $this->header('Access-Control-Allow-Headers','X-Requested-With'); 
    $this->header('Access-Control-Allow-Headers','Content-Type, x-xsrf-token'); 
    $this->header('Access-Control-Max-Age','172800'); 
} 

这不幸导致500 ERR_INVALID_RESPONSE

我试图做$this->response->header而不是$this->header,和同样的问题。我也试过header而不是$this->header,并且我得到的服务器响应为500。我也有尝试将header块移动到我在控制器中的动作,进入顶​​层app_controller.php文件,进入bootstrap.php文件,并进入视图文件本身(每个变体header,$this->header和尝试了$this->response->header)。删除Configure::write('debug', 0);不能解决问题。

哎呀,我连这个在我.htaccess文件:

<IfModule mod_headers.c> 
    <FilesMatch "\.(json)$"> 
     Header set Access-Control-Allow-Origin "*" 
    </FilesMatch> 
</IfModule> 

虽然这似乎并没有做任何事情。我在Apache的mods-available文件夹中也有mod_headers.load

任何人都知道如何在CakePHP 1.3中设置Access-Control-Allow-Origin标头?

回答

0
header("Access-Control-Allow-Origin: *"); 

我知道这是一个旧帖子,但我只是想回答这个以帮助他人。