angular 6でファイアベース関数を使用してメールをサンドしたいのですが、angularがこのエラーをスローします:
エラーTS2305:モジュール '"E:/ project/node_modules/@ angular/common/http"'には、エクスポートされたメンバー 'RequestOptions'がありません。
import { Injectable } from '@angular/core';
import { NgForm } from '@angular/forms';
import { HttpClient, HttpHeaders, RequestOptions } from '@angular/common/http';
import 'rxjs';
@Injectable()
export class MailerService {
constructor(private httpClient: HttpClient) { }
send(form: NgForm) {
let url = 'TheUrlOfMyFunction';
let params: URLSearchParams = new URLSearchParams();
let options = {headers: new HttpHeaders({'Content-Type': 'application/json'})};
params.set('to', form.value['emailTo']);
params.set('from', form.value['emailFrom']);
params.set('subject', form.value['object']);
params.set('content', form.value['text']);
return this.httpClient.post(url, params, options)
.toPromise()
.then( res => { console.log(res) })
.catch(err => { console.log(err) })
}
}
RequestOptionsは、「@ angular/common/http」モジュールでは使用できません。これは、最新のangularバージョンで非推奨となった「@ angular/http」モジュールで使用できました。これで、次のようなローカル変数を作成できます-
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
};
また、http呼び出しを行うときにhttpOptionsを使用できます。
return this.http.get('PRODUCT_URL', httpOptions)