Ionic的http请求方法,一种是使用Ionic的Native的Http方法,另一种是使用Angular的Http请求方法。

第一种真的是看着文档都实现不了,很奇怪的错(官网文档:https://ionicframework.com/docs/native/http/),不知道缺少了什么,这种方式就先不研究了

第二种Angular的请求方法又有两种,一种是使用HttpModule 的方式,现在网上大多数的介绍都是如此,但是在新版本中这种方法已经不推荐了,推荐的是另一种使用HttpClientModule 方式

HttpModule方式

import { HttpModule } from '@angular/http';

在app.module.ts 文件中添加

...
import { HttpProvider } from '../providers/http/http';
import { HttpModule } from '@angular/http'; @NgModule({
...
imports: [
...
HttpModule,
],
...
providers: [
...
HttpProvider
]
})
export class AppModule {}

在http.ts文件中

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map'; @Injectable()
export class HttpProvider { path: string = 'https://randomuser.me/api/?results=25'; constructor(public http: Http) {
console.log('Hello HttpProvider Provider');
} loadUsers(){
return this.http.get(this.path).map(res => res.json(), err => {
console.log(err);
})
} }

在调用HTTP请求的页面中 test.ts

import {Component} from '@angular/core';
import {HttpProvider} from "../../providers/http/http"; @Component({
selector: 'page-test',
templateUrl: 'test.html',
}) export class TestPage { constructor(public http: HttpProvider) {
} f(){
this.http.loadUsers().subscribe(res => {
console.log(res.results);
},
err => {
console.log(err);
});
}
}

但是在新版的angular中,已经不推荐使用这种方法了

HttpClientModule方式

官网文档:https://angular.io/tutorial/toh-pt6

这种方法不但推荐,而且使用起来非常简单

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

在app.module.ts 文件中添加

...
import {HttpClientModule} from '@angular/common/http'; @NgModule({
...
imports: [
...
HttpClientModule,
],
...
})

在调用HTTP请求的页面中 test.ts

import {Component} from '@angular/core';
import {HttpClient} from "@angular/common/http"; @Component({
selector: 'page-test',
templateUrl: 'test.html',
}) export class TestPage {
path: string = 'https://randomuser.me/api/?results=25'; constructor(private http: HttpClient) {
} f(){
this.http.get(this.path)
.subscribe(data => {
console.log(data);
});
}
}

原创文章,欢迎转载,转载请注明出处!

Ionic3的HTTP请求方法的更多相关文章

  1. HTTP请求方法详解

    HTTP请求方法详解 请求方法:指定了客户端想对指定的资源/服务器作何种操作 下面我们介绍HTTP/1.1中可用的请求方法: [GET:获取资源]     GET方法用来请求已被URI识别的资源.指定 ...

  2. HTTP请求方法

    HTTP请求方法 根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, ...

  3. iOS开发 GET、POST请求方法(NSURLSession篇)

    NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...

  4. iOS开发 GET、POST请求方法(NSURLConnection篇)

    Web Service使用的主要协议是HTTP协议,即超文本传输协议. HTTP/1.1协议共定义了8种请求方法(OPTIONS.HEAD.GET.POST.PUT.DELETE.TRACE.CONN ...

  5. HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误

    (来源:http://www.tuicool.com/articles/Ermmmyn) HTTP请求方法: 常用方法: Get\Post\Head (1)Get方法. 取回请求URL标志的任何信息, ...

  6. HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结

    HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GE ...

  7. HTTP 笔记与总结(2 )HTTP 协议的(请求行的)请求方法 及 (响应行的)状态码

    (请求行的)请求方法 包括: GET,POST,HEAD,PUT,TRACE,DELETE,OPTIONS 注意:这些请求方法虽然是 HTTP 协议规定的,但是 Web Server 未必允许或支持这 ...

  8. httpclient请求方法

    /** * httpclient请求方法 * @param url 请求地址 * @param paramMap 请求参数 * @param ent 编码格式 gbk.utf-8 * @return ...

  9. HTTP请求方法对照表

    根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELE ...

随机推荐

  1. 修复TortoiseGit文件夹和文件图标不显示

    原文:http://blog.moocss.com/tutorials/git/1823.html 一. 我的运行环境: 操作系统 Windows 7/8 32bit TortoiseGit (1.7 ...

  2. 零基础6个月学好java月薪1w+看看他是怎么学好java的

    21世纪进入信息时代,信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一,Java作为含金量极高的一门IT技术,很多人希望从事这个行业,那么想学好Java,要 ...

  3. Log4j各级别日志重复打印

    使用filter进行日志过滤 这个其实是Log4j自带的方案,也是推荐方案,不知道为什么网上的资料却很少提到这点.把log4j.properties配置文件修改成如下: #root日志 log4j.r ...

  4. Keras官方中文文档:序贯模型

    快速开始序贯(Sequential)模型 序贯模型是多个网络层的线性堆叠,也就是"一条路走到黑". 可以通过向Sequential模型传递一个layer的list来构造该模型: f ...

  5. java线程安全问题以及使用synchronized解决线程安全问题的几种方式

    一.线程安全问题 1.产生原因 我们使用java多线程的时候,最让我们头疼的莫过于多线程引起的线程安全问题,那么线程安全问题到底是如何产生的呢?究其本质,是因为多条线程操作同一数据的过程中,破坏了数据 ...

  6. 关于CI框架访问数据库类提示Call to undefined function mysqli_init()

    大家好,我曾经是ASP.NET MVC的践行者,现在是PHP,同时也是CodeIgniter框架的初学者和践行者,当时由于项目原因,我被迫给自己打满鸡血,满怀激情的选用Yii2,Lavarel5,Co ...

  7. Developer Survey Results 2017

    概观 今年,超过64,000名开发人员告诉我们他们学习和升级的方式,他们使用的工具和他们想要的东西. 自2011年以来,Stack Overflow每年都会向开发者询问他们最喜爱的技术,编码习惯,工作 ...

  8. Python中装饰器的用法

    定义: 装饰器本身就是一个函数 为其他函数提供附加功能 不改变源代码 不改变原调用方式 装饰器=高阶函数+嵌套函数 知识点: 函数本身就是一个变量(意味着可以被复制给一个变量:test=test(1) ...

  9. 25.django Model

    django ORM基本配置 django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表 1.修改project数据库配置 (1)settigs.py里面 默认 DAT ...

  10. 【解高次同余方程】51nod1038 X^A Mod P

    1038 X^A Mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 X^A mod P = B,其中P为质数.给出P和A B,求< P的所有X. 例如:P = 11 ...