No' Access-Control-Allow-Origin' Angular / Firebase云功能

时间:2018-02-24 17:06:15

标签: javascript angular firebase google-cloud-functions

我试图在我的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() {
  }


}




0 个答案:

没有答案