javascript - En-tête CORS manquant dans la requête GET de fetch 'Access-Control-Allow-Origin'
巴扎黑
巴扎黑 2017-06-12 09:23:04
0
2
1035

Lorsque le serveur répond à la requête fetch GET, le paramètre « Access-Control-Allow-Origin » doit-il être défini dans l'en-tête de réponse ?

C'est l'API de Yiban, pas mon serveur

Aucun problème lors des requêtes sur le navigateur

J'ai vérifié plusieurs informations et constaté qu'elles ne servaient à rien

Voici le code de ma demande d'obtention

function request_get(url) {
    return fetch(url, {
        credentials: 'include',
    }).then(function(response) {
        return response.json()
    })
}
巴扎黑
巴扎黑

répondre à tous(2)
小葫芦

Ce problème est causé par la politique de même origine du navigateur, et il existe plusieurs solutions :

  1. JSONP

  2. CORS

  3. Utilisez le serveur de ressources statiques Nginx ou Express pour la configuration du proxy réseau et simulez les sources locales et distantes pour qu'elles soient la même source pour l'extraction de données

世界只因有你

Cela signifie que l'API que vous avez demandée n'est pas dans le même domaine que votre page. Si l'API ne définit pas le champ Access-Control-Allow-Origin, cela signifie qu'il ne s'agit pas d'une interface API prenant en charge l'accès inter-domaines. Lors de l'écriture de la logique Fetch sur une page, quelle que soit la façon dont l'en-tête de la requête est personnalisé, il sera également intercepté par le navigateur (avant la récupération, le navigateur lancera une requête OPTIONS en amont et déterminera si la récupération est autorisée en fonction du champ d'en-tête du À ce stade, le navigateur détermine que l'API ne prend pas en charge le cross-domain, la demande est donc interceptée pour des raisons de sécurité).

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!