Échec du chargement de la ressource: le serveur a indiqué l'état 500 (Erreur interne du serveur) Cdn.ampproject.org/v0.js:68 La réponse doit contenir l'en-tête AMP-Access-Control-Allow-Source-Origin Yd @ cdn.ampproject.org/v0.js:68cdn.ampproject.org/v0.js:68 La soumission du formulaire a échoué: Erreur: la réponse doit contenir l'en-tête AMP-Access-Control-Allow-Source-Origin Rapporté
Comment pouvons-nous nous assurer qu'il fonctionne correctement?.
Appliqué toutes les balises . https://github.com/ampproject/amphtml/blob/master/spec/amp-cors-requests.md
Veuillez essayer avec le code suivant
if(!empty($_POST)){
$domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_Host]";
header("Content-type: application/json");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: ". str_replace('.', '-','https://example.com') .".cdn.ampproject.org");
header("AMP-Access-Control-Allow-Source-Origin: " . $domain_url);
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
header("AMP-Redirect-To: https://example.com/thankyou.amp.html");
header("Access-Control-Expose-Headers: AMP-Redirect-To, AMP-Access-Control-Allow-Source-Origin");
echo json_encode(array('successmsg'=>'data post'));
exit;
}
Veuillez vous assurer que l'URL du domaine doit être https
Remplacez https://example.com/ par votre URL souhaitée
Bien que l'OP utilise PHP, je poste ici pour mes peeps javascript.
Pour node express server, vous pouvez utiliser amp-toolbox-cors , qui fournit le middleware.
const express = require('express');
const ampCors = require('amp-toolbox-cors');
const app = express();
// That's it!
app.use(ampCors());
...
Par défaut, le middleware AMP CORS n'autorise que les requêtes des caches AMP répertoriés sur https://cdn.ampproject.org/caches.json (avec l'ajout de bing-amp.com).
Toutes les autres origines recevront une réponse 403.
Donc, pour localhost ou dev test, vous voudrez probablement aussi ajouter ce qui suit:
app.use(ampCors({
verifyOrigin: false
}));
Pour ceux qui souhaitent approfondir leurs connaissances, voici un lien vers les documents officiels sur la manière de se conformer à AMP CORS .