Pas de "Access-Control-Allow-Origin' en - tête de Laravel 5.4
XMLHttpRequest ne peut pas charger http://myapi/api/rating. Réponse à la demande de contrôle en amont ne passent pas de contrôle d'accès: Pas de "Access-Control-Allow-Origin' en-tête est présent sur la ressource demandée. Origine " http://localhost:8104 ' est donc pas autorisé à accéder. La réponse avait le code d'état HTTP 403.
Je ne peux pas comprendre pourquoi je ne peux pas faire de la SCRO demandes. J'ai installer le middleware ici, de l'ajouter à la global http noyau, mais il ne fonctionne toujours pas. Essayé de créer un middleware donné stackoverflow suggestions, mais qui aussi n'a pas de travail. Également essayé d'ajouter un groupe de Route. Enfin, j'ai essayé le réglage de l'en-têtes de réponse manuellement dans l'action de la demande. Je suis vraiment coincé - aide est très appréciée!
Voir pour le code: https://gist.github.com/KerryRitter/0d7ababb7b9eb8d54f0ae55add9704a1
- être simple, l'utilisation de ce plugin: github.com/barryvdh/laravel-cors
- Je l'ai fait, c'est le middleware je l'ai mentionné (j'ai oublié de dire). J'ai ajouté au noyau comme on le voit dans mon gist
- comment sur de le garder comme:
'middleware' => [\Barryvdh\Cors\HandleCors::class]
- Bon, j'ai enlevé le 'c' enregistrement et de la Scro classe. retiré de la Route un groupe. supprimé à la demande d'action en-têtes. Tout ce que j'ai c'est pour le Noyau protected $middleware = [ ... \Barryvdh\C\HandleCors::classe ]; Toujours pas de chance 🙁
- Résolu mon problème: je n'ai pas ajouter "Barryvdh\C\ServiceProvider::classe" à l'config/app.php les fournisseurs de tableau.
Vous devez vous connecter pour publier un commentaire.
https://github.com/barryvdh/laravel-cors
La laravel-scro package vous permet d'envoyer des Cross-Origin Resource sharing-têtes avec Laravel middleware de configuration.
Caractéristiques
Poignées de la SCRO pré-OPTIONS de vol des demandes
Ajoute de la SCRO en-têtes de vos réponses
Si vous utilisez
Laravel 5.5
&Laravel 5.x
et face à un même problème commeNo 'Access-Control-Allow-Origin' header is present on the requested resource
. Utilisez simplement le paquet suivant et de configuration de votre système.Étape 1:
Étape 2
Vous devez également ajouter
Cors\ServiceProvider
à votreconfig/app.php
fournisseurs de tableau:Pour permettre
CORS
pour tous vos itinéraires, ajouter leHandleCors
middleware dans le$middleware
propriété deapp/Http/Kernel.php
classe:Pour les utilisations à l'échelle mondiale:
De middleware:
Étape 3
Une fois votre installation terminée exécuter commande ci-dessous pour publier le fournisseur de fichiers.
Espère que cette réponse aide à quelqu'un face au même problème que moi.
J'ai fait face à cette erreur dans laravel 5.4 récemment, j'ai été l'envoi ajax requête post à mon propre site web, et était toujours ce même message d'erreur, j'ai fait face à cette erreur due à deux raisons pour être précis,
error: XMLHttpRequest cannot load https://[mydomain].com/quote/short. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://[mydomain].com' is therefore not allowed access.
La raison de l'erreur ci-dessus est que, j'ai été poster requête http domaine de https domaine, donc quand je l'ai changé pour https, l'erreur a été résolue, puis de nouveau j'ai eu la même erreur due à raison similaire, qui était la raison pour laquelle, cette fois, le domaine avait
www.
requis et l'on n'a pas, après j'ai ajoutéwww.
à la fois, il a travaillé comme un charme.Et pour les requêtes d'origine, j'ai utilisé pour la solution suivante:
Créer un middleware cors (dans mon cas), ayant le code ci-dessous
Insérer middle-ware dans routeMiddleware tableau dans kernal.php
'cors' => \App\Http\Middleware\Cors::class,
Ajouter middleware à l'respectés route
Route::get('myRoute', ['middleware' => 'cors' , 'uses'=> 'MyController@Action']
Espère que cette réponse aide à quelqu'un face au même problème que moi.
Laravel limite l'origine de la croix de la demande en raison de problèmes de sécurité par défaut.
Nous avons besoin de créer un Scro middleware à l'acceptation de la demande d'origine différente.
Étape 1 : Créer de la Scro middleware.
Etape 2 : Ajouter les lignes ci-dessous dans la poignée de la fonction avant le retour.
Étape 3 : Enregistrer le middileware dans app/Http/Kernel.php fichier.
Étape 4 : Maintenant, nous devons appeler le middleware dans app/Http/Kernel.php fichier
Vous pouvez créer de la Scro middleware classe et les ajouter dans la demande mondiale de HTTP middleware pile dans kenel.php. Middlewares dans cette pile sera exécuté lors de chaque demande de votre application. Après l'ajout de middleware dans cette pile, vous ne voulez pas exécuter dans api.php fichier. Suivez cette lien pour plus d'informations.
ce que vous avez besoin est en fait d'ajouter de proxy pour votre application (à l'avant)
et dans le paquet.json
et de commencer votre projet blanc sur cette confie
lien : https://www.youtube.com/watch?v=OjmZPPKaj6A