Я пытаюсь выполнить приведенную ниже функцию в моем приложении Ioni c Angular, cloudFunctionUrl - это облачная функция, которая есть в моем проекте Firebase:
import { HttpClient } from '@angular/common/http';
private http: HttpClient
like(post) {
this.http.post('cloudFunctionUrl', JSON.stringify(body), {
responseType: 'text'
}).subscribe((data) => {
console.log(data);
}, (error) => {
console.log(error);
});
}
Чтобы преодолеть проблему CORS , я установил плагин Allow CORS: Access-Control-Allow-Origin chrome. Ниже приведен список доменов из белого списка:
- http://localhost: 8100
- chrome .google.com
- localhost
- localhost: 8100
- localhost: 8100 / profile
- cloudFunctionUrl
Вышеуказанная функция like
выполняется для localhost:8100/profile
.
У меня возникают две проблемы:
- Я перехожу на localhost: 8100 / profile без проблем, но когда я выполняю
like
, я получаю это сообщение об ошибке :
Доступ к XMLHttpRequest в 'cloudFunctionUrl' из источника 'http://localhost: 8100 ' заблокирован политикой CORS: Нет 'Access-Control-Allow- Заголовок источника 'присутствует на запрашиваемом ресурсе.
Если я go подключился к консоли Firebase и у меня включен плагин CORS, он говорит
«Произошла ошибка при загрузке ваших проектов» Может кто-нибудь сказать мне, как я могу решить эту проблему?
Я также пытался добавить в запрос нижеследующие заголовки, но ошибка все еще появляется:
let headers = new HttpHeaders({
'Access-Control-Allow-Origin': '*'
});
this.http.post('cloudFunctionUrl', JSON.stringify(body), {
headers: headers,
responseType: 'text'
}