有使Ajax调用简单,因为几乎所有的浏览器,这些天正在一个OPTIONS调用实际AJAX调用服务器之前一些讨厌的问题。
由于我使用的游戏! 2.0,是否有任何方便的方法,使一个通配符响应于使用OPTIONS方法的任何途径?
举例来说,在我的路线做这样的事情: OPTIONS /* controllers.Options.responseDef
是的,我知道,新的游戏! 没有内置的通配符,但需要有因为所有的浏览器越来越多地呼叫选项中AJAX调用之前,此解决方案。
有使Ajax调用简单,因为几乎所有的浏览器,这些天正在一个OPTIONS调用实际AJAX调用服务器之前一些讨厌的问题。
由于我使用的游戏! 2.0,是否有任何方便的方法,使一个通配符响应于使用OPTIONS方法的任何途径?
举例来说,在我的路线做这样的事情: OPTIONS /* controllers.Options.responseDef
是的,我知道,新的游戏! 没有内置的通配符,但需要有因为所有的浏览器越来越多地呼叫选项中AJAX调用之前,此解决方案。
不太通配符,但你可以使用一个route
横跨几个斜线段:
OPTIONS /*wholepath controllers.Options.responseDef(wholepath)
OPTIONS / controllers.Options.responseDef
它应该符合所有的要求:
OPTIONS /a
OPTIONS /a/b
OPTIONS /a/b/c
注:从我头顶那是,也许你需要把它擦亮。 我不能由我自己现在检查。
检查部分动态部分跨越数/手动的。
一个很干净的办法有一个单独的控制器端点匹配所有选项的请求是覆盖onRouteRequest
的方法Play的全局对象 。 以下版本的onRouteRequest
将所有请求路由到单个端点命名OptionsController.options
。
import play.api.mvc._
...
override def onRouteRequest(request: RequestHeader): Option[Handler] = {
request.method match {
case "OPTIONS" => Some(OptionsController.options)
case _ => super.onRouteRequest(request)
}
}