Heim > Web-Frontend > js-Tutorial > So bedienen Sie Angular, um eine Datenanforderung zu implementieren

So bedienen Sie Angular, um eine Datenanforderung zu implementieren

php中世界最好的语言
Freigeben: 2018-05-31 10:15:39
Original
1285 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie Angular zum Implementieren von Datenanforderungen verwenden und welche Vorsichtsmaßnahmen beim Betrieb von Angular zum Implementieren von Datenanforderungen gelten. Hier sind praktische Fälle, werfen wir einen Blick darauf.

Wenn Sie Angular zum Anfordern von Daten verwenden, müssen Sie das HttpModule-Modul einführen. Wenn Sie den JSONP-Modus verwenden, müssen Sie das JsonpModule-Modul

import { HttpModule, JsonpModule } from '@angular/http'
Nach dem Login kopieren

einführen im aktuellen Modul Registrieren Sie

imports: [
 HttpModule,
 JsonpModule
],
Nach dem Login kopieren

in den Importen. Nach der Registrierung können Sie die entsprechende Methode in der Komponentendatei einführen, um Datenanfragen

import { Http, Jsonp } from '@angular/http'
Nach dem Login kopieren

und dann im -Konstruktor der aktuellen Komponente durchzuführen Nach der Injektion können Sie es

constructor(private http: Http, private jsonp: Jsonp) { }
Nach dem Login kopieren

wie folgt verwenden: eine einfache Get-Anfrage

// 进行注入,拿到相对应的方法
constructor(private http: Http, private jsonp: Jsonp) { }
public list: any = []
// 请求数据
getData() {
 let url = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1'
 let _this = this
 this.http.get(url).subscribe((data) => {
  _this.list = JSON.parse(data['_body'])['result']
  console.log(_this.list)
 })
}
Nach dem Login kopieren

und sie im Frontend rendern

<button (click)="getData()">get 请求数据</button>
<ul>
 <li *ngFor="let item of list">
  {{item.title}}
 </li>
</ul>
Nach dem Login kopieren

JSONP-Anfragedaten

Beachten Sie den Unterschied zur Get-Anfrage. Verwenden Sie Folgendes:

// 请求数据
jsonpData() {
 let url = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&callback=JSONP_CALLBACK'
 let _this = this
 this.jsonp.get(url).subscribe((data) => {
  _this.list = data['_body']['result']
  console.log(_this.list)
 })
}
Nach dem Login kopieren
rrree

Unterschiede

Das angegebene Callback-FunktionName&callback=JSONP_CALLBACK

Die Anforderungsmethode ändert sich in this.jsonp.get(url)

Das nach der Anforderung erhaltene Datenformat ist nicht einheitlich und muss selbst angepasst werden

POST-Anfrage

Die Anforderungsmethode unterscheidet sich geringfügig von der von GET. Zuerst müssen Sie sie vorstellen den Anfrage-Header {Header}

// 渲染
<button (click)="jsonpData()">jsonp 请求数据</button>
<ul>
 <li *ngFor="let item of list">
  {{item.title}}
 </li>
</ul>
Nach dem Login kopieren
und dann: Um die Anfrage-Header zu definieren, müssen Sie zuerst die Header instanziieren

import { Http, Jsonp, Headers } from '@angular/http'
Nach dem Login kopieren
Zum Schluss bringen Sie die Header bei der Übermittlung der Daten mit

private headers = new Headers({'Content-Type': 'application/json'})
Nach dem Login kopieren
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Es ist noch spannender. Bitte beachten Sie andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Wie man den Knoten bedient und die Promise- statt der Callback-Funktion verwendet

Wie man Vue + besser nutzt -Scrollen Sie, um die Bewegung zu implementieren. Alphabetische Indexnavigation beenden

Das obige ist der detaillierte Inhalt vonSo bedienen Sie Angular, um eine Datenanforderung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage