相关疑难解决方法(0)

为Play编写自定义过滤器!2.2用Java

我有一个简单的场景:自动为每个HTTP响应添加一个响应头; 我想用Java做到这一点.

看一下src/play-filters-helpers/src/main/java/play/filters/*,有些动作可以作为注释应用.我想避免添加@AddMyHeader到每个处理程序.

综观斯卡拉过滤器src/play-filters-helpers/src/main/scala/play/filters/*,并GzipFilter具体地讲,我看到一个明确的机制,但我还没有使用Scala熟悉推断为Java.

那么:我从哪里开始?

java playframework

13
推荐指数
2
解决办法
7833
查看次数

在 Angular + Scala Play 上启用 CORS

使用 AngularJS 1.2.16 和 Scala Play 2.2.0,我正在尝试启用 CORS。

这是我在前端的请求。基本上它是一个POST发送带有userNamepassword字段的JSON 。

Request URL:http://localhost:9000/login
Request Headers CAUTION: Provisional headers are shown.
Accept:application/json, text/plain, */*
Content-Type:application/json;charset=UTF-8
Origin:http://localhost:8000
Referer:http://localhost:8000/app.html
User-Agent:Mozilla/5.0 ...
Request Payloadview source
  {userName:foo, password:bar}
Run Code Online (Sandbox Code Playgroud)

checkPreFlight是允许我的POST请求标头的后端方法。

  def checkPreFlight = Action {
    Ok("...").withHeaders(
      ACCESS_CONTROL_ALLOW_ORIGIN -> "*",
      ACCESS_CONTROL_ALLOW_METHODS -> "POST",
      ACCESS_CONTROL_MAX_AGE -> "300",
      ACCESS_CONTROL_ALLOW_HEADERS -> "Origin, X-Requested-With, Content-Type, Accept,
                                         Referer, User-Agent")
  }
Run Code Online (Sandbox Code Playgroud)

routes

POST    /login                      controllers.Home.login
OPTIONS /login                      controllers.Home.checkPreFlight
Run Code Online (Sandbox Code Playgroud)

我的 Chrome 浏览器的控制台显示:

XMLHttpRequest cannot …
Run Code Online (Sandbox Code Playgroud)

firefox scala google-chrome playframework-2.0 angularjs

4
推荐指数
1
解决办法
1653
查看次数