2016-08-01 6 views
1

Я создаю простое угловое приложение 1.4.8, которое говорит об API RESTful. Пользователь может добавить элемент POST в REST API с помощью $ http. API может ответить сгенерированным 201 или в случае, если аналогичный элемент уже существует с статусом 409 и заголовком местоположения, указывающим идентификатор существующего элемента.

В моем приложении, чтобы обрабатывать случай, когда существует элемент, я использую обработчик catch httpPromise, но я не могу получить доступ к заголовку Location там. В инструментах chrome dev я вижу запрос POST и ответ 409 с заголовком Location (просто чтобы доказать, что он есть). Во время отладки в обработчике catch я проверяю аргумент функции и вижу статус 409 и функцию заголовков, но единственный заголовок присутствует в виде содержимого, отсутствует заголовок Location.

Как получить доступ к заголовку местоположения из аргумента ответа httpPromise?

EDIT: Здесь вы можете увидеть запрос \ ответ на вкладке Сеть с заголовком Location:

enter image description here

Здесь вы можете увидеть кусок кода, который должен смотреть на заголовок и в утешит тот факт, что заголовок Расположение отсутствует:

enter image description here

+0

Если вы не можете получить доступ к заголовку Location, возможно, его там нет. Проверьте свой сервер. Также проверьте сетевую панель инструментов вашего браузера, чтобы увидеть, как выглядит ответ. Всегда лучше размещать свой код, а не описывать его. Мы можем обнаружить ошибки в коде, но гораздо сложнее обнаружить ошибку в описании. –

+0

обновлен с более подробной информацией – itaysk

ответ

0

Найдено решение here. Проблема заключалась в том, что приложение запускалось под другим доменом, а затем сервером, поэтому добавление Access-Control-Expose-Headers исправило его.