Comment éviter les no-cors sur une PWA ?

WRInaute accro
Bonjour

Je teste mon api Javascript de cache et voici ce que çà donne :

Code:
class_fetch.js:372 request for : https://www.pronostics-courses.fr
class_fetch.js:227 file : https://www.pronostics-courses.fr is being fetched from the cache.
main.html:1 Access to fetch at 'https://www.pronostics-courses.fr/' from origin 'http://localhost' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
class_fetch.js:57 GET https://www.pronostics-courses.fr/ net::ERR_FAILED



Une PWA par définition c'est du Javascript local.

Comment faites-vous pour accéder aux urls remote à partir d'une PWA?

Le header suivant :

Access-Control-Allow-Origin: *

est-il nécessaire ?

Merci beaucoup.
 
WRInaute accro
Rebonjour

J'ai simplifié ma question.

Dans une requête http avec fetch, il y a :

credentials: ( include | omit )
mode: ( cors | no-cors )

Pour lire le résultat d'une url, il faut que mode soit 'cors'.

Dans ce cas si credentials = include, les headers suivants ne peuvent pas être wildcard ( * ) :

Access-Control-Allow-Origin:
Access-Control-Request-Method:
Access-Control-Expose-Headers:

Mais dans ce cas, comment ne pas être rejeté lors de la connexion ?

Comment fixer le header : "Access-Control-Allow-Origin" , sachant que le client est local et non connu du serveur avant la connexion ?

Faut-il fixer credentials à "omit" et y a-t-il des effets de bord ?

Merci.
 
WRInaute accro
Bof, bof...

Autre url : https://developer.mozilla.org/fr/docs/Web/HTTP/CORS

Ces headers pourraient-il convenir ?

Sachant que j'ai GTM et Sirdata, y a-t-il besoin d'autres urls dans : "Access-Control-Allow-Origin" ?

Merci beaucoup de votre aide.


PHP:
<?php

header("Access-Control-Allow-Origin: https://www.pronostics-courses.fr");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, HEAD");
header("Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,ETag,Last_Modified,Cache-Control,Content-Type,Range");
header("Access-Control-Max-Age: 86400");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Expose-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,ETag,Last-Modified,Cache-Control,Content-Type,Range");

?>
 
WRInaute accro
Pardon, pardon.

Il semblerait que j'ai dit une grosse bêtise. ;)

Je testais mon api en localhost, en voulant charger une page de mon site web.

Pas étonnant que çà fasse du cross-origin sharing... . ;)

Quand j'aurai testé cette api Fetch de cache convenablement, je vous donnerai le code.

Excusez-moi encore.
 
Discussions similaires
Haut