Tyring для импорта import {HttpClient, Headers, RequestOptions} из '@ angular / common / http'; - PullRequest
1 голос
/ 17 октября 2019

Я работаю с ионным 4 проекта. и теперь я пытаюсь сделать http-пост и следую по этой ссылке: https://www.techiediaries.com/ionic-http-post/. теперь он говорит, что не может найти заголовки, RequestOptions в @ angular / common / http ';

Я перепробовал другую вещь, которую нашел при переполнении стека.

import { Component, OnInit } from '@angular/core';
import { HttpClient, Headers, RequestOptions } from 
'@angular/common/http';

@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit {

constructor(public httpClient: HttpClient) {
 }
 ngOnInit(){}

  sendPostRequest() {
var headers = new Headers();
headers.append("Accept", 'application/json');
headers.append('Content-Type', 'application/json' );
const requestOptions = new RequestOptions({ headers: headers });

let postData = {
        "name": "Customer004",
        "email": "customer004@email.com",
        "tel": "0000252525"
}

this.http.post("http://127.0.0.1:3000/customers", postData, requestOptions)
  .subscribe(data => {
    console.log(data['_body']);
   }, error => {
    console.log(error);
  });
  }

Ответы [ 4 ]

0 голосов
/ 17 октября 2019

Angular 5 Вперед, если вы хотите общаться только в JSON, тогда необязательно устанавливать Content-Type как application/json. По умолчанию он будет общаться в формате JSON.

Так что вы можете просто использовать его как

Для вызова GET

this.http.get('YOUR API').subscribe((response) => {
    console.log(response);
});

Для вызова POST

this.http.post('YOUR API', `{JSON OBJECT}`).subscribe((response) => {
    console.log(response);
});

Вы также можете добавить пользовательские заголовки, например, токен авторизации, как показано ниже

import { HttpClient, HttpHeaders } from '@angular/common/http';

requestHeaders = new HttpHeaders().set('Authorization', 'Token');

и используйте его, как показано ниже

Для вызова GET

this.http.get('YOUR API', {headers: this.requestHeaders}).subscribe((response) => {
    console.log(response);
});

Для вызова POST

this.http.post('YOUR API', `{JSON OBJECT}`, {headers: this.requestHeaders}).subscribe((response) => {
    console.log(response);
});

HttpHeaders включает такие методы, как set(), append() и т. Д.

0 голосов
/ 17 октября 2019

так мы можем добавить заголовок

  import { HttpHeaders } from '@angular/common/http';


    let yourheaders = new HttpHeaders({
    'Content-Type': 'application/json'
    });

    let youroptions = {
    headers: yourheaders
    }

Взгляните это посмотрите на это также

0 голосов
/ 17 октября 2019

Сохраняйте это простым:

import { HttpClient } from '@angular/common/http';

constructor(private http: HttpClient) { 
}

Получить API:

this.http.get('https://someapi.com/posts').subscribe((response) => {
    console.log(response);
});

Post Api:

    let YourHeaders = {'Content-Type':'application/json'};
    this.http.post(url, YourData, {headers: YourHeaders})
      .subscribe(data => {
      console.log(data)
    },
    (error) => {
            console.log("Error" + error)
    })
0 голосов
/ 17 октября 2019

Привет, попробуйте этот набор заголовков, используйте HttpHeaders:

import { HttpClient, HttpHeaders , RequestOptions } from '@angular/common/http';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...