我正在尝试使用GET方法进行登录,请使用以下代码:
login(data){
return this.http.get("http://Server_IP:88/mLogin/" +
data.controls['mobile'].value + "/" +
data.controls['password'].value,{}).pipe(tap(
res=>{console.log('User: '+res)},
err=>console.log(err) ));
}
以上代码在chrome浏览器上工作正常,并且也得到了响应。但在构建APK时不起作用,即在设备上不起作用。当我们检查应用程序时,它会在控制台中得到响应,但会出现以下错误:
从原点“ http://Server_IP:88/mLog”到“ http://localhost:8080”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-来源的标头出现在请求的资源上。
这是我的scala(服务器代码):
`nextFilter(requestHeader)
.map { result =>
if (requestHeader.method.equals("OPTIONS")) {
Results.Ok.withHeaders(
Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN -> "*",
Http.HeaderNames.ACCESS_CONTROL_ALLOW_HEADERS -> "X-Requested-
With,
Accept, Content-Type",
Http.HeaderNames.ACCESS_CONTROL_ALLOW_METHODS ->
"OPTIONS,HEAD,GET,POST,PUT,PATCH,DELETE")
} else {
result.withHeaders(
Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN -> "*",
Http.HeaderNames.ACCESS_CONTROL_ALLOW_HEADERS -> "X-Requested-
With, Accept, Content-Type",
Http.HeaderNames.ACCESS_CONTROL_ALLOW_METHODS ->
"HEAD,GET,POST,PUT,PATCH,DELETE",
Http.HeaderNames.ACCESS_CONTROL_EXPOSE_HEADERS -> "X-Custom-
Header-To-Expose")
}
}`