Play Framework CORS请求

时间:2017-12-07 13:38:08

标签: playframework cors

我有两个应用程序:

  1. 在localhost:9000
  2. 上播放2.6.7应用
  3. 在localhost:3000
  4. 上运行的webpack dev服务器

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

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

    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.
    

    仅当我使用

    在Play应用中明确设置标题时
    def create = Action { 
      Ok("stuff").withHeaders(
        "Access-Control-Allow-Origin" -> "http://localhost:3000"
      )
    }
    

    请求是否正确无误。

    我的问题是:为什么不播放自动设置此标头,因为docs似乎建议?我的application.conf是一个空文件。

1 个答案:

答案 0 :(得分:5)

默认情况下,未启用CORS过滤器。添加

getUserID()

到application.conf解决了这个问题