浅谈Angular中http请求模块的用法
程序员文章站
2022-03-24 14:40:32
...
本篇文章给大家介绍一下Angular中http请求模块的使用。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《angular教程》
首先模块引入
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); }) } }
更多编程相关知识,请访问:编程视频!!
以上就是浅谈Angular中http请求模块的用法的详细内容,更多请关注其它相关文章!
推荐阅读
-
实例讲解Python中SocketServer模块处理网络请求的用法
-
实例讲解Python中SocketServer模块处理网络请求的用法
-
浅谈angular2的http请求返回结果的subcribe注意事项
-
浅谈HTTP中GET和POST请求方式的区别
-
浅谈AngularJS中$http服务的简单用法
-
PHP中的$_SERVER["HTTP_REFERER"]用法浅谈
-
浅谈AngularJS中$http服务的简单用法
-
angular2中Http请求原理与用法详解
-
浅谈angular2的http请求返回结果的subcribe注意事项
-
Node.js中Request模块处理HTTP协议请求的基本使用教程