1

如何让 playframework 允许非源调用?我曾尝试将 @Before 方法添加到控制器,但从未被 ajax 客户端调用。

@Before 
public static void setCORS()
{
    Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE", true);
}

我正在尝试为客户端开发人员设置一个测试 API 服务器进行测试,但这似乎需要禁用 Origin 限制。

其他人有这个工作吗?或以不同的方式完成此任务?

更新: 我发现这篇关于主题 http://javathought.wordpress.com/2011/12/04/cross-origin-resource-sharing-with-play-framework/的文章

4

2 回答 2

2

检查您的浏览器正在尝试做什么,它可能会首先发送一个 OPTION 请求以检查允许的内容,这称为“预检请求”。

此外,将 Access-Control-Allow-Origin 设置为 * 仅在没有凭据的情况下有效。

于 2012-05-26T10:30:22.603 回答
0

使用自定义路由器可以解决这个问题。

例如使用:https ://github.com/teamon/play-navigator

val rget = GET on "foo" to App.foo
val gpost = POST on "foo" to App.foo
于 2013-02-21T10:14:09.923 回答