2015-10-17 145 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

相關問題