虚位以待(AD)
虚位以待(AD)
首页 > 网页特效 > JavaScript > Angular 数据请求的实现方法

Angular 数据请求的实现方法
类别:JavaScript   作者:码皇   来源:互联网   点击:

本篇文章主要介绍了Angular 数据请求的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

使用 Angular 请求数据的时候,需要引入 HttpModule 模块,如果使用的 jsonp 模式的话,则需要另外引入 JsonpModule 模块

    import {
    HttpModule, JsonpModule }
    from '@angular/http'

然后在当前模块中的 imports 内进行注册

    imports: [ HttpModule, JsonpModule],

注册以后就可以在组件文件当中引入相对应的方法来进行数据请求了

    import {
    Http, Jsonp }
    from '@angular/http'

然后在当前组件的构造函数当中进行注入以后就可以使用了

    constructor(private http: Http, private jsonp: Jsonp) {
    }

使用如下,一个简单的 get 请求

    // 进行注入,拿到相对应的方法constructor(private http: Http, private jsonp: Jsonp) {
    }
    public list: any = []// 请求数据getData() {
    let url = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1' let _this = this this.http.get(url).subscribe((data) => {
    _this.list = JSON.parse(data['_body'])['result'] console.log(_this.list) }
    )}

前台进行渲染即可

    <button (click)="getData()">get 请求数据</button><ul> <li *ngFor="let item of list"> {
    {
    item.title}
    }
    </li></ul>

JSONP 请求数据

注意区分与 get 请求的区别,使用如下

    // 请求数据jsonpData() {
    let url = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&callback=JSONP_CALLBACK' let _this = this this.jsonp.get(url).subscribe((data) => {
    _this.list = data['_body']['result'] console.log(_this.list) }
    )}
    // 渲染<button (click)="jsonpData()">jsonp 请求数据</button><ul> <li *ngFor="let item of list"> {
    {
    item.title}
    }
    </li></ul>

不同点

请求的 url 参数结尾必须要添加指定的回调函数名称 &callback=JSONP_CALLBACK

请求的方式变为 this.jsonp.get(url)

请求后得到的数据格式不统一,需要自行进行调整

POST 请求

与 GET 的请求方式有些许不同,首先需要引入请求头 { Headers }

    import {
    Http, Jsonp, Headers }
    from '@angular/http'

然后来对请求头进行定义,需要先实例化 Headers

    private headers = new Headers({
    'Content-Type': 'application/json'}
    )

最后在提交数据的时候带上 Headers 即可

    postData() {
    let url = 'http://localhost:8080/login' let data = {
    "username": "zhangsan", "password": "123" }
    this.http.post( url, data, {
    headers: this.headers}
    ).subscribe((data) => {
    console.log(data) }
    )}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • AngularJS基于http请求实现下载php生成的excel文件功能示例
  • angular2中Http请求原理与用法详解
  • ionic3+Angular4实现接口请求及本地json文件读取示例
  • angular.js4使用 RxJS 处理多个 Http 请求
  • Angular客户端请求Rest服务跨域问题的解决方法
  • 详解基于angular-cli配置代理解决跨域请求问题
  • 详解AngularJS用Interceptors来统一处理HTTP请求和响应
  • angular 用拦截器统一处理http请求和响应的方法
  • angularJS 发起$http.post和$http.get请求的实现方法
相关热词搜索: Angular 数据请求