• 技术文章 >web前端 >js教程

    浅谈Angular中http请求模块的用法

    青灯夜游青灯夜游2021-03-04 10:15:40转载392
    本篇文章给大家介绍一下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请求模块的用法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:Angular http请求模块
    上一篇:JavaScript专题之三:防抖 下一篇:node.js使用multer中间件上传文件
    大前端线上培训班

    相关文章推荐

    • angularjs数据绑定失效的解决方法• Angular入门学习之环境和项目的搭建• eclipse中如何配置angularjs插件的方法• 一起了解Angular中的依赖注入

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网