J'ai déployé localement mon application Play et l'accès à mon API REST via localhost:9000
à partir de mon navigateur fonctionne parfaitement.Lecture CORS ne fonctionne pas
Cependant, je reçois l'erreur suivante lors de l'exécution d'un script jQuery (voir ci-dessous) de file:///C:/Users/XXX/XXX//index.html
:
Failed to load resource: the server responded with a status of 403 (Forbidden)
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 403.
J'ai suivi les instructions données sous https://www.playframework.com/documentation/2.6.x/CorsFilter.
Mon build.sbt
:
libraryDependencies ++= Seq(
jdbc,
evolutions,
guice,
"com.h2database" % "h2" % "1.4.194",
javaJpa,
"org.hibernate" % "hibernate-core" % "5.2.5.Final",
filters
)
Mon application.conf
:
NOTE: J'ai essayé deux allowedOrigins = null
& allowedOrigins = ["*"]
jQuery script:
$.ajax({
'url' : 'http://localhost:9000/employee/' + user_id + '/weeklyWorkingHours',
'type' : 'GET',
'success' : function(data) {
console.log('Data: '+ JSON.stringify(data));
},
'error' : function(request,error)
{
console.log("Error: "+JSON.stringify(request));
}
});
Voici ce que dit Jouer:
[warn] p.f.c.CORSFilter - Invalid CORS request;Origin=Some(null);Method=GET;Access-Control-Request-Headers=None
spécifications Play dit que 'par défaut, toutes les origines sont autorisée de. Vous mentionnez que vous avez essayé 'allowedOrigins = null' &' allowedOrigins = ["*"] '. Avez-vous essayé de l'enlever? – Bruno
Merci pour l'indice. Malheureusement, cela ne fait pas l'affaire. – mollwitz
Je pense que le problème est ici 'Origin = Some (null)'. Play validera ceci comme 'isValidOrigin = nouvel URI (" null "). GetScheme ne null'. Ce qui renvoie faux. Pouvez-vous essayer de faire la demande avec un 'Origin' valide? C'est 'Origin ='? –
Bruno