'Access-Control-Allow-Origin je besoin d'accéder à mon api web hébergé à distance de mon application réagir. Du côté du serveur je l'ai fait ci-dessous pour permettre la communication inter-domaine:incapable de mettre en-tête
import javax.ws.rs.core.Response;
import com.mypackage.ResponseDto;
@Override
public Response fetch(String id, String env) throws ServiceException
{
ResponseDto res = new ResponseDto();
res = updateResp(id, env); // not important
return Response.ok().header("Access-Control-Allow-Origin","*").entity(res).build();
}
Quand je vérifie de postier je peux voir en-tête Set correctement CORS comme ci-dessous:
access-control-allow-origin →*
content-type →application/json
date →Wed, 16 Aug 2017 11:07:16 GMT
server →web
transfer-encoding →chunked
Mais quand j'accéder au même point final de réagir app, les navigateurs commence à se plaindre avec l'erreur ci-dessous:
Fetch API cannot load http://myservices.com/myservice-app/services/ . Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:3000 ' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled
Toute idée ce qui se passe ici?
Edit # 1 Avez-dessous le changement voir toujours la même erreur:
return Response.ok()
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS")
.header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With")
.entity(response).build();
L'en-tête doit être ajouté à la réponse à une demande OPTIONS (qui est ce qu'un navigateur envoie comme cette demande « prévol »), pas (seulement) GET ou POST. Peut-être que c'est le problème? –
A quoi ressemble la réponse du serveur lorsqu'elle reçoit une requête OPTIONS, elle est envoyée avant la requête suivante – Ferrybig
La duplication possible de l'en-tête ["No" Access-Control-Allow-Origin "est présente sur la ressource demandée"] (https://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource) – Ferrybig