2017-09-05 1 views
0

J'utilise SLIM framework comme backend et Angularjs comme frontend.Normal GET et POST API fonctionne très bien. Chaque fois que je passe les en-têtes dans la méthode GET ou POST, il lance erreur 404.J'ai utilisé le .htaccess fichier pour CORS.SLIM php Angularjs CORS

RewriteEngine On 

# Some hosts may require you to use the `RewriteBase` directive. 
# If you need to use the `RewriteBase` directive, it should be the 
# absolute physical path to the directory that contains this htaccess file. 
# 
# RewriteBase/

Header add Access-Control-Allow-Origin: "*" 
Header add Access-Control-Allow-Headers: "origin, x-requested-with, content-type, authorization" 
Header add Access-Control-Allow-Methods: "PUT, GET, POST, DELETE, OPTIONS" 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php [QSA,L] 

Aidez-moi à résoudre ce problème.

+0

Vérifiez le journal des erreurs de votre serveur. Quelles demandes génèrent une réponse 404? – Phil

+0

Les chances sont, votre serveur ne répond pas correctement à la demande de pré-vol 'OPTIONS'. Laissez-moi voir si je peux trouver une solution fourre-tout – Phil

+0

ok. J'ai essayé cela pendant plus d'une semaine. Je ne peux pas l'obtenir – user3667960

Répondre

0

Si vous utilisez Chrome, vous pouvez ouvrir l'onglet Réseau dans les outils de développement pour afficher la demande ayant échoué. Si c'est lié à CORS, alors il vous dira pourquoi il a échoué. Une erreur 404 signifie généralement que le point de terminaison est introuvable, vérifiez donc soigneusement que le code angulaire demande l'URL que vous pensez qu'il devrait être.

+0

Le 404 est probablement parce que rien ne répond aux demandes pré-vol 'OPTIONS' correctement. Le framework Slim doit être configuré pour les gérer. – Phil

+1

Slim gère les OPTIONS automatiquement pour vous. –