【ionic4】创建公共请求(get与post请求)数据的服务(完美例子)

该博客主要介绍了在Ionic项目中引入HTTP服务并获取数据的步骤。首先在终端输入命令创建服务,接着在app.module.ts引入http相关模块并添加声明,在common.service.ts引入HttpClient并声明,再在appmodule.ts引入配置的公共服务,最后在首页获取数据并给出了html代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在终端输入下面命令

ionic g service services/common

2、出现下图

在这里插入图片描述

3、app.module.ts引入http相关模块

引入http相关模块

import { HttpClientModule } from '@angular/common/http'

添加声明

imports: [ BrowserModule, HttpClientModule ]
4、在common.service.ts引入HttpClient,并且在构造函数中声明
import {HttpClient} from "@angular/common/http";
constructor(public http:HttpClient) { }
5、common.service.ts中代码
import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import { url } from 'inspector';


@Injectable({
  providedIn: 'root'
})

export class CommonService {


//设置一个域名,为了好维护
  public config:any={
    //域名:
    domain:'http://localhost:8839/'
  }

  constructor(public http: HttpClient) {
  }
 
  //封装了一个get请求
  ajaxGet(api) {
    var api=this.config.domain+url;
    return new Promise((resolve, reject) => {
      this.http.get(api).subscribe((response) => {
        resolve(response);
      }, (err) => {
        reject(err);
      })
    })
  }
  //封装了一个post请求 
  ajaxPost(url:String, json:Object) {
    var api = this.config.domain + url;
    return new Promise((resove, reject) => {
      this.http.post(api, json).subscribe((response) => {
        resove(response);
      }, (error) => {
        reject(error);
      })
    })
  }
}
6、在appmodule.ts 引入配置的公共的服务
import{CommonService} from './services/common.service';

然后在providers下面声明CommonService,:

providers: [
    StatusBar,
    SplashScreen,
    CommonService,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
7、在首页进行获取数据

ts中的代码

import { Component } from '@angular/core';
import {CommonService} from '../services/common.service';  //注意两个点

@Component({
  selector: 'app-tab1',
  templateUrl: 'tab1.page.html',
  styleUrls: ['tab1.page.scss']
})

export class Tab1Page {
  constructor(public httpService:CommonService){
  }

  ngOnInit(): void {
    this.getData()  
  }

  getData(){
    var api='http://192.168.22.77:8081/NO1/V1/ContractCheck/GetAllContract?page=1&limit=20';
    this.httpService.ajaxGet(api).then((Response)=>{
        this.list=Response;
    })
  }
}

8、html中的代码
<ion-header>
  <ion-toolbar>
    <ion-title>
       首页
    </ion-title>
  </ion-toolbar>
</ion-header>

<ion-content>
  <ion-list>
    <ion-item *ngFor="let item of list">
      <ion-label>{{item.id}}</ion-label>
    </ion-item> 
  </ion-list>
</ion-content>

页面效果:在这里插入图片描述

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值