У @ angular / common / http нет экспортированного члена RequestOptions - PullRequest
0 голосов
/ 30 декабря 2018

Я хочу обработать электронные письма с помощью angular 6, используя функцию firebase, но angular выдает эту ошибку:

error 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) })

    }
}

1 Ответ

0 голосов
/ 31 декабря 2018

RequestOptions недоступен в модуле "@ angular / common / http".Раньше он был доступен в модуле "@ angular / http", который больше не поддерживается в последних версиях angular.Теперь вы можете создать локальную переменную, подобную этой, -

  const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json'
    })
  };

И вы можете использовать httpOptions при выполнении вызова http.

return this.http.get('PRODUCT_URL', httpOptions)
...