2017-12-07 1 views
0

Ich habe zwei Anwendungen:Wiedergabe Rahmen CORS Anfrage

  1. Wiedergabe 2.6.7 App auf localhost läuft: 9000
  2. webpack dev-Server, der auf localhost läuft: 3000

Die webpack App macht eine POST-Anfrage an den Play-App welchem ​​

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

die Play-App mit

reagiert
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. 

Nur wenn ich explizit den Header in dem Play-App mit

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

gesetzt hat die Anforderung durchlaufen, ohne Fehler.

Meine Frage ist: Warum spielt nicht diese Header automatisch, wie die docs scheinen vorschlagen? Meine application.conf ist eine leere Datei.

Antwort

0

Der CORS-Filter ist standardmäßig nicht aktiviert.

play.filters.enabled += play.filters.cors.CORSFilter 

zu application.conf Hinzufügen löst dieses Problem