角http.get()网址为原始HTML

时间:2019-07-10 11:11:45

标签: angular angular-httpclient

我正在为作业创建网站,我想在其中动态加载一些数据。问题是,数据仅来自网站,没有API或其他任何东西。有什么方法可以使用angular。中的http.get将整个网站提取为原始HTML,然后可以对其进行解析以获取信息?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以将responseType设置为"text"以将响应作为字符串获取。

this.httpClient.get(url, {responseType: "text"})

请参阅重载方法3:

https://angular.io/api/common/http/HttpClient#get

  

注意:跨域的GET请求必须遵守CORS

答案 1 :(得分:0)

  

Working Example

service.ts

  getRawData(): Observable<any> {
    const api = 'https://www.w3.org/TR/PNG/iso_8859-1.txt';
    return this.httpClient.get(api,{ responseType: 'text' });    
  }

component.ts

import { Component, OnInit } from '@angular/core';

import { HttpClient } from '@angular/common/http';
import { AppService } from './app.service';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
  name = 'Angular 5';
  rawlist: any;

  constructor(private appService: AppService) {}

  ngOnInit() {}

  getRawData() {
    this.appService
      .getRawData()
      .subscribe(
        data => this.rawlist=data,
        error => console.log(error)
      );
  }

}

.html

<button (click)="getRawData()">get raw data </button>

 {{rawlist }}