Я пытался сделать почтовый запрос от angular 5 до моего бэкэнда spring mvc. Однако я получаю сообщение об ошибке Response for preflight is inavlid (redirect). Я искал решение с 4 дней, но безуспешно. Я пробовал все предложения по настройке заголовков типа контента. При этом я наблюдаю одну необычную вещь. Ошибка предварительной проверки возникает только тогда, когда я устанавливаю для заголовка типа содержимого значение application/json. Если я установил заголовок в текстовый/обычный, ошибка предварительной проверки исчезла, но отображается ошибка 415 неподдерживаемого типа носителя. Я действительно копал вещи, чтобы получить некоторую помощь. Любая помощь или предложения очень ценятся.
Ответ на предварительную проверку происходит только для приложения/json
Ответы (2)
Используя хром, посмотрите инструменты разработчика - консоль и посмотрите точную ошибку.
Ваша служба неправильно настраивает предварительный ответ для вашего запроса OPTIONS.
Как я могу проверить, готов ли мой сервис к CORS
- используйте PostMan или RestClient и сделайте запрос OPTIONS ни с чем (без аутентификации, без ничего)
- Найдите заголовки ответа для запроса OPTIONS из шага 1.
- Заголовки ответов могут выглядеть так
Access-Control-Allow-Origin: http://exampledomain.comg
Access-Control-Allow-Methods: GET, POST (или любые методы, которые вы хотите разрешить)
Access-Control-Allow-Headers: Content-Type
person
Jayesh
schedule
05.09.2018
если я изменю тип содержимого на текстовый/обычный, ошибки предварительной проверки можно избежать, но тогда мне придется иметь дело с неподдерживаемым типом носителя 415.
- person Shreyas Sule; 05.09.2018
вы владелец сервиса? Если нет, вам нужно будет связаться с ними
- person Jayesh; 05.09.2018
Вы можете видеть тип контента в разрешающих заголовках в ответе на параметры?
- person Jayesh; 05.09.2018
Я попытался выполнить почтовый запрос через Postman, установив заголовок авторизации на NTLM и передав объект с запросом, и он вернулся со статусом 200 ok. Итак, я думаю, что авторизация вызывает проблему. Теперь мне просто интересно, как я могу добавить тот же заголовок авторизации с NTLM через angular и передать его на серверную часть, чтобы успешно выполнить почтовый запрос.
- person Shreyas Sule; 05.09.2018
Я вижу тип контента как application/json в ответ
- person Shreyas Sule; 05.09.2018
Добавьте аннотацию crossOrigin на свой контроллер. Если у вас есть несколько контроллеров, добавьте их на все контроллеры
@CrossOrigin(origins = "*")
@RestController
person
harkesh kumar
schedule
05.09.2018