2015-10-17 125 views
1

我还没有成功地使CORS请求在我的项目中工作,基本上是一个Play服务器和一个AngularJS Web客户端。在Play Framework 2.4中为Scala实现CORS

由于有很多变数需要考虑,所以我首先要确保至少在Play服务器端一切正常。但是,我的错,Play 2.4 documentation on CORS还不足以帮助我找出具体的用例。

两个基本问题:

  1. 创建在项目的根目录中的过滤器类(见docs):在什么地方提供的代码?不知道什么是“项目的根源”,我将该课程添加到我的控制器中app/controllers/Mycontr.scala
  2. 文档中描述的要点足够了吗?或其他部件需要被接触为好,例如在app/conf/routes

试图找到一个完整的教程路由,但没有运气的游戏2.4

回答

3

“项目的根”是指相应的目录到包根。当使用default sbt layout时,默认为app/src/main/scala/。就这样。

+0

好吧,我把代码中的一个新创建'app/root.scala',现在它可以工作。所以在我的情况下,服务器端不需要其他部分;也不需要改变AngularJS客户端。 – user2364174

0

我遇到同样的,问题时,口口声声说:

的XMLHttpRequest无法加载http://localhost:9000/fetchBetween。 对预检请求的响应未通过访问控制检查:否 请求的 资源上存在“访问控制允许来源”标头。 'http://localhost:3000'因此不允许 访问。响应有HTTP状态代码404

我加Filters.scalaapp/文件夹,并添加到filterslibraryDependencies,这是我在application.conf配置:

play.filters.cors { 

    pathPrefixes = ["/fetchBetween"] 

    allowedOrigins = ["*"] 

    allowedHttpMethods = ["GET", "POST"] 

    allowedHttpHeaders = ["Accept"] 

    preflightMaxAge = 3 days 

} 
+0

此点仅用于解答,而不是问题。 – khebbie

相关问题