angular 中使用 axioscss
/**
* 在angular 中引入第三方 http 模塊的使用, 以 axios 爲例
* 有兩種使用方法:(本文使用Promise簡單封裝)
* 一. 直接在要使用請求的組件中 import axios from 'axios', 調用: axios.get/ axios.post ...
* 二. 封裝成服務:
* 1. 引入 axios: import axios from 'axios'
* 2. 用 promise rxjs 回調函數 3 種方式任選其一進行封裝
*/
1. axios.service.ts中html
import { Injectable } from '@angular/core';
import axios from 'axios'
@Injectable({
providedIn: 'root'
})
export class AxiosService {
constructor() { }
AxiosGet(api) {
return new Promise((resolve, reject)=>{
axios.get(api).then((res)=>{
resolve(res)
})
})
}
}
2. 根模塊中注入:ios
import { AxiosService } from '../service/axios.service'
providers: [AxiosService]
3. 組件中使用:axios
// 引入服務
import { AxiosService } from '../../service/axios.service'
@Component({
selector: 'app-news',
templateUrl: './news.component.html',
styleUrls: ['./news.component.css']
})
export class NewsComponent implements OnInit {
public newsList: any[]
constructor(public $axios: AxiosService) { }
ngOnInit() {
}
axiosGetData() {
let url = '/search/interface/getrelatequery?word=%E6%99%8B%E6%B1%9F'
this.$axios.AxiosGet(url).then((data)=>{
console.log("axios GET 請求: ", data)
})
}
}