播放Framework CORS要求

Jul*_*usz 3 cors playframework

我有两个应用程序:

  1. 播放2.6.7在本地主机运行的应用程序:9000
  2. 在本地主机上运行的webpack开发服务器:3000

webpack应用向Play应用发出POST请求

$.ajax({
  url: 'http://localhost:9000/users',
  data: JSON.stringify(data),
  dataType: 'json',
  method: 'POST'
})
Run Code Online (Sandbox Code Playgroud)

Play应用程式会回应的内容

Failed to load http://localhost:9000/users: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

仅当我在Play应用中显式设置标题时,

def create = Action { 
  Ok("stuff").withHeaders(
    "Access-Control-Allow-Origin" -> "http://localhost:3000"
  )
}
Run Code Online (Sandbox Code Playgroud)

请求通过没有错误。

我的问题是:为什么Play不会像文档所建议的那样自动设置此标题?我application.conf是一个空文件。

Jul*_*usz 7

默认情况下,CORS过滤器未启用。新增中

play.filters.enabled += play.filters.cors.CORSFilter
Run Code Online (Sandbox Code Playgroud)

到application.conf解决了这个问题