在 CakePHP 应用程序中启用 CORS

2024-04-07

我正在尝试为 CakePHP 中内置的 API 启用 CORS,以便可以通过 AppController 中的以下内容访问所有请求:

public function beforeFilter()
{
    header("Access-Control-Allow-Origin: *");
}

这是在错误的地方吗?由于请求仍然被阻止。

更新:看来这确实有效,但因为我正在做类似的事情:

header('Content-Type: application/json');
echo json_encode(array('message'=>'Hello world!'));

在我的一些方法中,它的行为就好像它覆盖了 AppController 设置的标头,因此它不会出现在 JSON 调用的响应中。 有任何想法吗?

更新 2:返回如下 JSON,修复了问题:

$this->response->type('json');
$this->response->body(json_encode(array('message'=>'Hello world!')));

所以显然使用header()在 Cake 中打破了以前的标题?


您可以使用 cake 响应对象来做到这一点;

$this->response->header('Access-Control-Allow-Origin', '*');

有关响应对象的更多信息;http://book.cakephp.org/2.0/en/controllers/request-response.html#setting-headers http://book.cakephp.org/2.0/en/controllers/request-response.html#setting-headers

然而,beforeRender() 回调似乎是一个更合乎逻辑的位置。

另一个选择是在您的 apache vhost 中添加此标头,或者 htaccess 示例可以在 Html5Boilerplate 的 htaccess 文件中找到,这是一个非常有趣的东西(有详细记录),因为它包含很多与 cakephp 配合良好的优化,如出色地;

https://github.com/h5bp/server-configs-apache/blob/master/dist/.htaccess https://github.com/h5bp/server-configs-apache/blob/master/dist/.htaccess

http://html5boilerplate.com/ http://html5boilerplate.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CakePHP 应用程序中启用 CORS 的相关文章

随机推荐

  • 使用 Joda Time 进行 Grails 控制器单元测试

    当我有一个带有 Joda LocalDateTime 字段的域对象时 一些生成所有创建的控制器测试失败 grails create app bugdemo cd bugdemo grails create domain class Item
  • 立即返回弹簧网通量

    我正在尝试创建应该返回 201 响应的框架 当向 API 发出请求时 我想立即发回响应并在后台处理该请求 Flux fromIterable request getApiRequests log flatMap item gt WebCli
  • 正确的 Javascript 继承

    我想知道是否可以在javascript中继承构造函数 在下面的例子中 我想要Moveable分派x and y论点this x and this y分别如我所定义Sprite 另外 在不创建祖先实例的情况下定义原型的最佳方法是什么 但仍然简
  • Django 无法加载静态文件

    对 django 来说是全新的 在我的 settings py 文件中 我有 STATIC URL static INSTALLED APPS django contrib admin django contrib auth django
  • 如何将我的 Sqlite 数据库移植到 GAE?

    我的本地硬盘中有一个 SQLite 格式的数据库 我希望将数据库升级到 GAE 以便我可以使用它来创建某些很酷的网络应用程序 我已经四处浏览寻找一种方法来做到这一点 然而 大多数可用的项目都是将GAE中的数据库备份到我的本地硬盘 是否有现有
  • 将 Clojure 函数作为 java.util.Function 传递

    正如在主题中一样 我想使用一个以 Function 作为参数的 Java 方法 并为其提供一个Clojure函数 无论是匿名函数还是常规函数 任何人都知道如何做到这一点 java util function Function是一个接口 您需
  • 如何向 jfreechart 创建的图表添加缩放功能

    我使用 jfree 绘制了 XY 图表 现在我想为其添加缩放功能 这必须使用图表底部的滑块来完成 如何添加 Windows 照片查看器中提供的缩放功能 另外 当用户将鼠标悬停在绘制的线上时 我想将图表的当前 Y 值显示为工具提示 我没有得到
  • redirect_uri 不属于应用程序

    类似的问题和答案都没有解决我的问题 我有两个 Facebook 应用程序 一个是另一个的测试版本 因此它们几乎相同 我测试时没有任何问题 但在实时应用程序上 我收到 redirect uri 不属于应用程序 错误 这个申请就是一个很好的例子
  • 矢量化和尴尬并行之间有什么关系?

    这个问题说明了一切 在我看来 矢量化与令人尴尬的并行问题密切相关 换句话说 所有可矢量化的程序都必须是极其并行的程序 它是否正确 对令人尴尬的并行性的快速总结 一个代码是尴尬地平行如果代码可以毫不费力地并行化 特别是处理数据依赖性 请注意
  • 如何将焦点设置到 NSButton?

    I m writing a small menubar application for OS X Yosemite When clicking on the menubar icon a popover appears with a num
  • 类模板可以在没有成员的情况下实例化吗?

    The 维基百科文章 http en wikipedia org wiki Template metaprogramming说 实例化类模板不会导致其成员定义被实例化 我无法想象 C 中的任何类被实例化 无论是否从模板中 类成员也没有被实例
  • 将表单值附加到 Go 中的 GET/POST 请求

    我想定义一个http Client自动将表单值附加到所有 GET POST 请求 我天真地尝试实施http RoundTripper从另一个库复制 粘贴时使用此技术来修改每个请求的标头 type Transport struct Trans
  • 如何在 IntelliJ IDEA 中自动完成 lambda?

    I m using IntelliJ IDEA 13 with Java 8 and wonder how to autocomplete lambdas Before Java 8 I used anonymous inner class
  • 循环遍历模型并在视图中为每个属性创建文本框

    我有一个具有 5 6 个属性的模型 是否可以循环遍历模型中的所有属性 公共属性 并在每次迭代的视图中创建一个文本框 而不是繁琐地编写一行代码来在视图中创建文本框 Thanks 是的 你可以使用 Html EditorForModel 或者
  • Emacs:持续突出显示一个区域

    Emacs 扩展markerpen el 链接文本 http www emacswiki org emacs MarkerPens 允许您突出显示缓冲区中的任意区域 使用此扩展 一旦您终止缓冲区 添加的突出显示就会丢失 然而 如果能够以 持
  • 是否可以向我没有源代码的类添加断点?

    我想在 Eclipse 中的类中添加断点 但我没有它的源代码 是否可以在其中添加断点 就我而言 我实际上只需要知道何时调用方法 附带说明 有人有 j2ee api 1 3 jar 的源代码吗 如果打开大纲视图 您可以选择一种方法 右键单击并
  • IntelliJ 社区找不到 Web 应用程序 Artifact 来生成 WAR

    我在用着IntelliJ IDEA 社区版生成一个war来自 Maven 项目的文件 当谈到生成这个战争文件时 我在工件中找不到战争选项 我尝试过 1 前往文件 gt 项目结构 gt 工件 gt 类型 但是没有提到WAR 2 右键单击项目模
  • 绑定 Span 的内容

    我有一个显示文本的窗口 文本有两部分 第一部分是固定的 而第二部分需要是在窗口上声明的 DependencyProperty 的内容 我考虑使用包含两个 Span 的 TextBlock 第一个包含固定内容 第二个包含可变内容 但我在 Sp
  • SQL Server 2008存储过程结果作为列默认值

    首先 谢谢各位 当我什至找不到词语来解释我到底想做什么时 你总是知道如何指导我 我的几个表上的列的默认值需要等于其他表中其他列上的一些复杂计算的结果 我的第一个想法是简单地让列默认值等于存储过程的结果 我还会从调用表的列中提取一个或多个参数
  • 在 CakePHP 应用程序中启用 CORS

    我正在尝试为 CakePHP 中内置的 API 启用 CORS 以便可以通过 AppController 中的以下内容访问所有请求 public function beforeFilter header Access Control All