我试图在我的Angular5网络应用中使用firebase云功能,但我一直收到错误:
无法加载https://us-central1-xxxxx.cloudfunctions.net/test: 对预检请求的响应没有通过访问控制检查:否 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:4200'因此是不允许的 访问。响应的HTTP状态代码为500。
我一直在寻找解决问题的一周时间,但我找不到任何解决方案,请帮忙吗?! 提前谢谢。
这是我的代码:
var functions = require('firebase-functions');
exports.test = functions.https.onRequest((req,res)=>{
res.send("TEST")
})

角度分量
import { Component, OnInit } from '@angular/core';
import { Http, Headers, Response, URLSearchParams } from '@angular/http';
import { RequestOptions } from '@angular/http';
import {HttpHeaders, HttpParams} from "@angular/common/http";
@Component({
selector: 'app-welcome',
templateUrl: './welcome.component.html',
styleUrls: ['./welcome.component.css']
})
export class WelcomeComponent implements OnInit {
constructor(private http: Http) { }
sendEmail() {
let url = `https://us-central1-XXXXX.cloudfunctions.net/test`
let params: URLSearchParams = new URLSearchParams();
let headers = new Headers({'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
let options = new RequestOptions({headers :headers})
return this.http.post(url, params,options)
.toPromise()
.then( res => {
console.log(res)
})
.catch(err => {
console.log(err)
})
}
ngOnInit() {
}
}