Maison > interface Web > js tutoriel > le corps du texte

Comment utiliser Angular pour implémenter la demande de données

php中世界最好的语言
Libérer: 2018-05-31 10:15:39
original
1274 Les gens l'ont consulté

Cette fois, je vais vous montrer comment utiliser Angular pour implémenter des requêtes de données, et quelles sont les précautions lors de l'utilisation d'Angular pour implémenter des requêtes de données. Ce qui suit est un cas pratique, jetons un coup d'œil.

Lorsque vous utilisez Angular pour demander des données, vous devez introduire le module HttpModule Si vous utilisez le mode jsonp, vous devez introduire le module JsonpModule

import { HttpModule, JsonpModule } from '@angular/http'
Copier après la connexion

. puis dans le registre actuel dans les importations dans le module

imports: [
 HttpModule,
 JsonpModule
],
Copier après la connexion

Après l'inscription, vous pouvez introduire la méthode correspondante dans le fichier du composant pour faire des requêtes de données

import { Http, Jsonp } from '@angular/http'
Copier après la connexion

Puis dans le le Constructeur du composant actuel peut être utilisé après l'injection

constructor(private http: Http, private jsonp: Jsonp) { }
Copier après la connexion

est utilisé comme suit, une simple requête d'obtention

// 进行注入,拿到相对应的方法
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)
 })
}
Copier après la connexion

peut être rendue dans le frontend

<button (click)="getData()">get 请求数据</button>
<ul>
 <li *ngFor="let item of list">
  {{item.title}}
 </li>
</ul>
Copier après la connexion

Données de demande JSONP

Faites attention à la différence avec la demande d'obtention, utilisez ce qui suit

// 请求数据
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)
 })
}
Copier après la connexion
// 渲染
<button (click)="jsonpData()">jsonp 请求数据</button>
<ul>
 <li *ngFor="let item of list">
  {{item.title}}
 </li>
</ul>
Copier après la connexion

Différences

La fonction de rappel spécifiéename&callback=JSONP_CALLBACK

La méthode de requête devient this.jsonp.get(url)

Le format de données obtenu après la demande n'est pas uniforme et doit être ajustée par vous-même

Requête POST

est légèrement différente de la méthode de requête GET Tout d'abord, vous. vous devez introduire l'en-tête de la requête { Headers }

import { Http, Jsonp, Headers } from '@angular/http'
Copier après la connexion

puis définir l'en-tête de la requête

private headers = new Headers({'Content-Type': 'application/json'})
Copier après la connexion

et enfin apporter les en-têtes lors de la soumission des données <.>

postData() {
 let url = 'http://localhost:8080/login'
 let data = {
  "username": "zhangsan",
  "password": "123"
 }
 this.http.post(
  url,
  data,
  {headers: this.headers}
 ).subscribe((data) => {
  console.log(data)
 })
}
Copier après la connexion
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment faire fonctionner le nœud et utiliser la promesse au lieu de la fonction de rappel

Comment mieux utiliser Vue + -faire défiler pour mettre en œuvre le mouvement Fin de la navigation dans l'index alphabétique

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal