web-dev-qa-db-fra.com

Demande d'origine croisée pour un fichier local

J'ai besoin d'ouvrir un fichier html local dans le navigateur. Le javascript fonctionne correctement mais ajax cesse de fonctionner et XMLHttpRequest donne une erreur d'origine croisée. Existe-t-il un moyen d'exécuter ajax à partir du répertoire local. Il est nécessaire pour moi qu'il soit exécuté à partir d'un fichier local uniquement.

Merci

7
User4870

Pour tous ceux qui veulent savoir, j'ai dû exécuter un serveur dans l'application pour servir les fichiers js. Il semble qu'il ne soit pas possible de le faire sans exécuter un serveur. Si quelqu'un connaît une autre façon, dites-le.

6
User4870

Si vous pouvez modifier le code du serveur, vous pouvez essayer d'ajouter la chaîne "null" aux origines autorisées. Dans Chrome, il envoie l'origine comme "null" s'il s'exécute à partir d'un fichier local.

Voici un exemple dans ASP.NET Core pour configurer l'origine "null":

services.AddCors(options =>
{
    options.AddPolicy("InsecurePolicy",
        builder => builder
            .WithOrigins("null")
            .AllowAnyMethod()
            .AllowAnyHeader()
            .AllowCredentials());
});

Notez que cela est non recommandé , mais peut être suffisant si vous en avez juste besoin pendant le développement.

0
Dusklight