Symfony2 + угловой JS + CORS

0

Наконец, я решил опубликовать это... Я чувствую, что идиот, для многих информации, и я не нашел ответа,

ну, проблема в CORS, я пытаюсь сделать это в angularJS:

  var request = $http({
        method: "POST",
        url: url,
        data: data
    });

url - это сервер с symfony, делающий JsonResponse(), ничего особенного, попробовав его с POSTMAN, все в порядке (так.. сервер в порядке?), но когда я пытаюсь использовать другой веб-интерфейс, я вижу в консоли:

XMLHttpRequest cannot load http://server/login. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. The response had HTTP status code 405. 

На самом деле в symfony у меня есть NelmioBundle с этой конфигурацией:

nelmio_cors:
   defaults:
      allow_credentials: true
      allow_origin: ['*']
      allow_headers: ['*']
      allow_methods: ['POST', 'PUT', 'GET', 'DELETE','OPTIONS']
      max_age: 3600
   paths:
    '^/':
        allow_origin: ['*']
        allow_headers: ['*']
        allow_methods: ['POST', 'PUT', 'GET', 'DELETE','OPTIONS']
        max_age: 3600

Я использую LEMP для получения дополнительной информации,

Спасибо за предварительный и извините за мой самый бад-английский!

  • 0
    Вы не определили host в значениях по умолчанию или пути.
Теги:
cors

1 ответ

0

Я вижу, что вы установили allow_credentials: true. Вы также должны установить соответствующие HTTP-заголовки в Angular.

$http.defaults.headers.post['Access-Control-Allow-Credentials'] = 'true';
var request = $http.post(path, data, { withCredentials: true });

Для получения дополнительной информации о CORS см. Эту ссылку в учебном курсе CORS

Ещё вопросы

Сообщество Overcoder
Наверх
Меню