(精华)2020年8月6日 Angular http请求模块的使用
发布日期:2021-06-29 15:08:56
浏览次数:2
分类:技术文章
本文共 3295 字,大约阅读时间需要 10 分钟。
首先模块引入
import { BrowserModule } from '@angular/platform-browser';import { NgModule } from '@angular/core';import { FormsModule} from '@angular/forms';import { AppRoutingModule } from './app-routing.module';import { AppComponent } from './app.component';import { HttpClientModule,HttpClientJsonpModule} from '@angular/common/http'@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, FormsModule, HttpClientModule, HttpClientJsonpModule ], providers: [], bootstrap: [AppComponent]})export class AppModule { }
组件中使用
import { Component, OnInit } from '@angular/core';import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';import Qs from 'qs';@Component({ selector: 'app-http', templateUrl: './http.component.html', styleUrls: ['./http.component.less']})export class HttpComponent implements OnInit { constructor(public http: HttpClient) { } ngOnInit(): void { this.getPostData(); //post this.getTestData(); //get this.getJsonpData() //jsonp } getPostData() { this.http.post('http://localhost:3000/api/info', { name: 'laney' }, { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) }).subscribe((res) => { console.log(res); }) } getTestData() { var obj1 = { name: 'alice', age: '20' } var params = Qs.stringify(obj1); console.log(params) //第一种方式:字符串拼接 this.http.get('http://localhost:3000/api/school?' + params).subscribe((res) => { console.log(res); }) //第二种方式:HttpParams var oarma = new HttpParams({ fromString: params }); this.http.get('http://localhost:3000/api/school?', { params: oarma }).subscribe((res) => { console.log(res); }) } getJsonpData() { this.http.jsonp('http://localhost:3000/getscript', 'callback').subscribe((res) => { console.log(res); }) }
http封装
import { Injectable } from '@angular/core';import { HttpClient,HttpHeaders,HttpParams} from '@angular/common/http';import Qs from 'qs';import { environment } from '../../environments/environment';console.log(environment.baseURL);@Injectable({ providedIn: 'root'})export class RxjsService { constructor(public http:HttpClient) { } postFun(url,data){ return this.http.post(environment.baseURL+url,data,{ headers:new HttpHeaders({ 'Content-Type':'application/json' }) }) } getFun(url,data){ var params = Qs.stringify(data); return this.http.get(environment.baseURL+url+'?'+params) }}
使用
import { Component, OnInit } from '@angular/core';import { RxjsService} from '../../services/rxjs.service';@Component({ selector: 'app-rxjs', templateUrl: './rxjs.component.html', styleUrls: ['./rxjs.component.less']})export class RxjsComponent implements OnInit { constructor(public rxjs:RxjsService) { } ngOnInit(): void { } getRXJS(){ this.rxjs.getFun('/api/school',{ name:'alice' }).subscribe((res)=>{ console.log(res); }) } postRXJS(){ this.rxjs.postFun('/api/info',{ name:'alice' }).subscribe((res)=>{ console.log(res); }) }}
转载地址:https://codeboy.blog.csdn.net/article/details/107851006 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月16日 08时58分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JQuery中$.ajax()方法参数详解
2019-04-29
正则表达式的数字实例
2019-04-29
【转】EasyUI 验证
2019-04-29
Django实战---商城购物车的增删改、显示和合并购物车
2019-04-29
Django项目实战----添加支付宝支付
2019-04-29
DRF框架---前言(简单使用)
2019-04-29
字符串外面是b“ “的转换 -亲测有效
2019-04-29
单通道和多通道卷积
2019-04-29
npy文件和pkl文件的保存和读取
2019-04-29
买卖股票的最佳时机
2019-04-29
AUC粗浅理解笔记记录
2019-04-29
torch 模型运行时间与forward没对应的可能原因
2019-04-29
JavaScript 的addEventListener() 事件监听详解!
2019-04-29
上传图片到阿里云OSS和获取上传图片的url的详解 !
2019-04-29
Kafka为什么这么快?
2019-04-29
Java 生产者和消费者面试题
2019-04-29
生产者消费者问题
2019-04-29
本机电脑连接虚拟机redis失败解决方法
2019-04-29
DM365 应用层gpio控制
2019-04-29