我已經部署在本地我的播放應用程序,並從內我的瀏覽器完美的作品通過訪問我的localhost:9000
REST API。播放CORS不工作
不過,我從file:///C:/Users/XXX/XXX//index.html
執行jQuery腳本(見下文)時,遇到下列錯誤:
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.
我跟着https://www.playframework.com/documentation/2.6.x/CorsFilter下的指示。
我build.sbt
:
libraryDependencies ++= Seq(
jdbc,
evolutions,
guice,
"com.h2database" % "h2" % "1.4.194",
javaJpa,
"org.hibernate" % "hibernate-core" % "5.2.5.Final",
filters
)
我application.conf
:
注:我都嘗試allowedOrigins = null
& allowedOrigins = ["*"]
jQuery的腳本:
$.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));
}
});
這裏是戲稱:
[warn] p.f.c.CORSFilter - Invalid CORS request;Origin=Some(null);Method=GET;Access-Control-Request-Headers=None
播放規格說,'在默認情況下所有的起源是allowed'。你提到你嘗試了所有的'allowedOrigins = null'&'allowedOrigins = 「*」]'。您是否嘗試刪除它? – Bruno
感謝您的提示。不幸的是,它並沒有做到這一點。 – mollwitz
我認爲這個問題是在這裏'產地=一些(空)'。比賽將驗證此爲'isValidOrigin =新的URI( 「空」)。getScheme NE null'。其中返回false。你可以嘗試用有效的「Origin」來完成請求嗎?這是'Origin = <一些有效的url>'? – Bruno