代码之家  ›  专栏  ›  技术社区  ›  nice_dev

使用observable获取HTTP响应

  •  0
  • nice_dev  · 技术社区  · 6 年前
    import { Component, OnInit } from '@angular/core';
    import { Observable } from "rxjs/Observable";
    import { HttpClient } from "@angular/common/http";
    
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    
    export class AppComponent implements OnInit{
    
      formData = {
        first_name:"",
        last_name:"",
        middle_name:"",
        mobile_number:"",
        email_address:"",
        password:"",
        confirm_password:""
      };  
    
      constructor(private httpClient:HttpClient) {
    
      }
    
      ngOnInit() {
        console.log(this.httpClient.get("http://localhost:8000"));
        // how to use this returned Observable to get the actual response.
      }
    
      submittedDetails(){
          console.log('FirstName: ' + this.formData.first_name);
          console.log('LastName: ' + this.formData.last_name);
          console.log('MiddleName: ' + this.formData.middle_name);
          console.log('Email Address: ' + this.formData.email_address);
          console.log('MobileNumber: ' + this.formData.mobile_number);
          console.log('Password: ' + this.formData.password);
          console.log('Confirm Password: ' + this.formData.confirm_password);   
      }
    }
    
    • ngInit() 纯粹是为了学习。

    • 我正在使用 角度6

    困难/问题:

    我可以向我的后端代码和内部代码发出请求 ngInit() Observable . 现在,如何使用它来查看收到的实际响应?

    我很抱歉,如果我理解这里有什么错误(在角度方面)。

    2 回复  |  直到 6 年前
        1
  •  1
  •   PeS    6 年前

    您必须订阅observable:

    this.httpClient.get("http://localhost:8000").subscribe(data => {
       console.log(data);
    });
    

    httpClient 期望接收JSON并为您解析。如果您的回复返回其他内容,您应该修改请求。

        2
  •  1
  •   Saso    6 年前

     this.httpClient.get("http://localhost:8000").subscribe(response => {
               // do some action
            });