は、私は、このエラーメッセージが出てい:プリフライトリクエストにCORS:私は私のブラウザから私のサーブレットにリクエストを作ってるんだときいいえ「アクセス制御 - 許可 - 起源」ヘッダ存在
レスポンス」doesnのアクセス制御チェックをパスする:要求されたリソースに「アクセス制御許可(Access-Control-Allow-Origin)」ヘッダーが存在しない。 Origin 'http://localhost:3000'はアクセスできません。レスポンスにはHTTPステータスコード405が含まれていました。不必要なレスポンスが必要な場合は、リクエストのモードを「no-cors」に設定して、CORSを無効にしてリソースをフェッチします。私のサーバに
私はこのフィルタを作成しました:
@Provider
public class CORSFilter implements ContainerResponseFilter
{
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException
{
responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
responseContext.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
responseContext.getHeaders().add("Access-Control-Allow-Credentials", "true");
responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
responseContext.getHeaders().add("Access-Control-Max-Age", "1209600");
}
}
をそして、これは私のtypescriptですコードです:
var oHeaders = {
'Accept': 'text/html,application/xhtml+xml,application/xml,application/json;odata.metadata=minimal',
"Odata-Version": "4.0",
"Odata-MaxVersion": "4.0",
"Prefer": "odata.allow-entityreferences"
};
var metadataRequest =
{
headers: oHeaders,
requestUri: "http://localhost:8080/olingo/odata/$metadata",
data: null
};
this.odata$ = Observable.create(o =>
oData.read(
metadataRequest,
(data, response) => {
o.next({ data, response });
o.complete();
},
(error) => o.error(error),
null
)
);
任意のアイデア?