Corriger l'erreur Refused to execute script because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled

Corriger l'erreur Refused to execute script because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled Le message d'erreur s'affiche dans deux cas possibles, liés à l'interprétation d'un fichier Json chargé dans votre page web.

La console des navigateurs web affiche notamment les erreurs présentes dans vos scripts. L'erreur "Refused to execute script because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled" s'affiche dans deux cas possibles, liés à l'interprétation d'un fichier chargé dans votre page web.

La première cause possible est liée à la balise <script>. C'est cette balise qui est utilisée pour charger des fichiers JavaScript dans une page web. Ce message d'erreur s'affichera si vous indiquez un fichier Json en source alors que vous indiquez comme type la valeur "text/javascript". La balise <script> n'est utilisée que pour charger des scripts contenant des instructions de code et non des fichiers de données. Si vous indiquez un fichier Json (et non JSONP) avec le type MIME "application/json", il n'y aura pas de message d'erreur mais le contenu sera ignoré par le navigateur.

<script type="text/javascript" src="monfichier.json"></script> <!-- Affichera un message d'erreur dans la console -->
<script type="text/javascript" src="monfichier.js"></script> <!-- correct -->

Le message d'erreur peut également s'afficher dans le cas d'une requête cross-domaine. Pour exécuter une requête vers un autre domaine, on utilise le format JsonP, qui est un dérivé de Json et permet entre autres de recevoir des données provenant d'un autre domaine. Si l'URL que vous indiquez ne retourne pas du JsonP, alors vous obtiendrez ce message d'erreur. Vous devez dans ce cas bien vérifier l'URL que vous avez indiquée. Il est possible d'utiliser des fichiers JsonP avec la balise HTML <script>, ou bien avec des requêtes Ajax par le biais de l'objet XMLHttpRequest.

JavaScript