symfony2 RESTE, AngularJs access-Control-Allow-Origin

d'accord, je suis désespérée. Je suis à l'aide de FOSRestBundle et NelmioCorsBundle

Je reçois toujours ce message d'erreur lorsque j'essaie de publier des données angulaires de serveur différent:

XMLHttpRequest cannot load 
http://IP/app_dev.php/api/v1/pages.json. 
No 'Access-    Control-Allow-Origin' header is present on the requested resource.
Origin      'http://127.0.0.1:9000' is therefore not allowed access.



Remote Address:IP:80
Request URL:http://IP/app_dev.php/api/v1/pages.json
Request Method:OPTIONS
Status Code:200 OK
Request Headers
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,sk;q=0.6,cs;q=0.4
Access-Control-Request-Headers:accept, authorization, content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
Host:192.168.43.195
Origin:http://127.0.0.1:9000
Pragma:no-cache
Referer:http://127.0.0.1:9000/
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36

Response Headers
Access-Control-Allow-Headers:X-Requested-With, content-type
Access-Control-Allow-Methods:POST, GET, PUT, DELETE, OPTIONS
Connection:Keep-Alive
Content-Length:573
Content-Type:text/html; charset=iso-8859-1
Date:Sun, 29 Jun 2014 18:07:54 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.7 (Ubuntu)

Je suis en train de corriger tout au long de la journée...

Actuellement, j'ai:

# CORS OPTIONS (add this too)
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header always set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS"
    Header always set Access-Control-Allow-Headers "X-Requested-With, content-type"
</IfModule>

nelmio_cors:
    paths:
        '^/api/':
            allow_origin: ['*']
            allow_headers: ['X-Custom-Auth']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE','OPTIONS']
            max_age: 3600

Envoi:

            var data = new FormData;
            data.append('title', 'title');
            data.append('body', 'body');

            var request = $http({
                method: 'POST',
                url: TB+"/app_dev.php/api/v1/pages.json",
                headers: {
                    'Authorization': 'Bearer '+User.getAccessToken(),
                    'Content-Type': 'application/json'
                },
                data: data
            });

Aucune idée de quel est le problème avec elle s'il vous plaît?

symfony2 RESTE, AngularJs access-Control-Allow-Origin

Avez-vous essayé de changer la nelmio de configuration? À partir de la nelmio site web: "allow_origin et allow_headers peut être défini * à accepter n'importe quelle valeur, les méthodes autorisées doivent toutefois être expressément énumérés. les chemins d'accès doivent contenir au moins un article." Donc, vous avez probablement activé juste le X-Custom-en-tête d'Authentification?
Access-Control-Allow-Origin en-tête vraiment n'existent pas dans la réponse du serveur
Vous devez définir le Access-Control-Allow-Origin en-tête sur la http://IP/app_dev.php/api/v1/pages.json serveur. Vous pourriez le faire dans PHP ou dans un .htaccess. Vérifiez également vos outils de développement de la demande de contrôle en amont a réussi.
vérifier ma réponse

OriginalL'auteur EnchanterIO | 2014-06-30