這次帶給大家如何用Angular實作資料請求功能,Angular實作資料請求功能的注意事項有哪些,以下就是實戰案例,一起來看一下。
使用Angular 請求資料的時候,需要引入HttpModule 模組,如果使用的jsonp 模式的話,則需要另外引入JsonpModule 模組
import { HttpModule, JsonpModule } from '@angular/http'
然後在當前模組中的imports 內進行註冊
imports: [ HttpModule, JsonpModule ],
註冊以後就可以在元件檔案當中引入相對應的方法來進行資料請求了
import { Http, Jsonp } from '@angular/http'
然後在目前元件的建構子當中進行注入以後就可以使用了
constructor(private http: Http, private jsonp: Jsonp) { }
使用如下,一個簡單的get 請求
// 进行注入,拿到相对应的方法 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) }) }
前台進行渲染即可
<button (click)="getData()">get 请求数据</button> <ul> <li *ngFor="let item of list"> {{item.title}} </li> </ul>
##JSONP 請求資料
注意區分與get 請求的區別,使用如下// 请求数据 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) }) }
// 渲染 <button (click)="jsonpData()">jsonp 请求数据</button> <ul> <li *ngFor="let item of list"> {{item.title}} </li> </ul>
回呼函數名稱&callback=JSONP_CALLBACK
請求的方式變成this.jsonp.get(url)請求後得到的資料格式不統一,需要自行調整POST 請求
與GET 的請求方式有些許不同,首先需要引入請求頭{ Headers }import { Http, Jsonp, Headers } from '@angular/http'
private headers = new Headers({'Content-Type': 'application/json'})
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) }) }
以上是如何用Angular實現資料請求功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!