Я сталкиваюсь со странной проблемой в приложении Angular 6 и вызовом бэкэнд-функции.По сути, я хочу добавить объект в список и сохранить его в БД.Он прекрасно работал до сегодняшнего дня, когда я обнаружил странное поведение в Firefox (в Chrome и Opera это работает).
Чтобы сохранить объект в БД, приложение вызывает этот метод:
newPolicyObject(listId : number, object : any, objectType : string) {
let url = `${ConfigService.settings.appURL}/policy-r__ipobjs/policy-r__ipobj/${listId}`;
return this.httpClient
.post(url, JSON.stringify(object))
.pipe(catchError(this.handleError));
}
В журналах сервера я вижу, что запрос выполнен правильно:
[2018-09-27T10:51:29.165] [INFO] http - 127.0.0.1 - - "OPTIONS /policy-r__ipobjs/policy-r__ipobj/7 HTTP/1.1" 204 0 "" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
[2018-09-27T10:51:29.258] [INFO] http - 127.0.0.1 - - "POST /policy-r__ipobjs/policy-r__ipobj/7 HTTP/1.1" 200 194 "http://localhost:4200/dashboard/policy" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
И он сохраняет объект в БД, поэтому он работает.Но в Firefox я вижу эту ошибку на консоли (в переводе с испанского, поэтому на английском она будет немного отличаться):
Blocked cross origin request: The same origin policy doesn't allow reading of remote resources on http://localhost:3000/policy-r__ipobjs/policy-r__ipobj/7. (Reason: CORS request failed).
И я вижу неожиданный запрос GET на вкладке сети Firefox:
Та же операция на Chrome или Opera работает нормально.Кроме того, я не видел эту ошибку в другом месте в приложении.Также я пробовал на разных компьютерах, и меняя бэкэнд на рабочий сервер, и результат тот же.
РЕДАКТИРОВАТЬ
Вот ответ на запрос ОПЦИИ:
Любая подсказка, в чем может быть причина?
Большое спасибо,