如何在angular2应用程序中获取JSON数组响应数据

阿塞拉达斯康

我有如下的 JSON 响应。我想要做的是将 JSON 响应输入到我的 angular2 应用程序中。但我无法获得预期的输出。请对我的编码解决方案提出意见。

{
"staffinfo": {
    "id": 3,
    "DeptID": 2,
    "OfficeID": 3,
    "FirstName": "Loreiya",
    "LastName": "Cheng",
    "DOB": "1991-04-02",
    "IsWorking": 1,
    "created_at": "2017-10-22 13:07:15",
    "updated_at": "2017-10-22 13:07:15"
},
"officeinfo": {
    "id": 3,
    "Name": "Finance-Payroll ",
    "Address": "No 20/1, Cross street, dalas, Block A ",
    "Description": "staff salary division ",
    "created_at": "2017-10-24 00:00:00",
    "updated_at": "2017-10-24 00:00:00"
}

}

此数据应显示在我的Department.component.html文件中

 <form #f="ngForm" (ngSubmit)="onSubmit(f)">
  <div class="form-group">
   <label for="depid">Department</label>
    <select name="depid" id="depid" class="form-control" ngModel>
      <option value="1">HR</option>
      <option value="2">Finance</option>
      <option value="3">Marketing</option>
    </select>
  </div>
  <button type="submit" class="btn btn-primary">Search</button>
</form>

<div *ngFor="let dep of department">
  {{ dep.staffinfo }}
</div>

这是我的Department.component.ts文件(我可以在没有任何错误的情况下获得成员发现警报)

import { Component, OnInit, Input } from '@angular/core';
import { NgForm } from "@angular/forms";
import { StaffService } from "../staff.service";
import { Department } from "../department.interface";

@Component({
  selector: 'app-department',
  templateUrl: './department.component.html',
  styleUrls: ['./department.component.css']
})
export class DepartmentComponent implements OnInit {
@Input() department: Department[];

  constructor(private staffService: StaffService) { }

  ngOnInit() {
  }

  onSubmit(form: NgForm) {
    this.staffService.getDept(form.value.depid)
    .subscribe(
      () => alert('Members found')
    );
    form.reset();
  }
}

这是我的staff.service.ts文件来调用后端服务

import { Injectable } from "@angular/core";
import { Http, Response, Headers } from "@angular/http";
import 'rxjs/Rx';
import { Observable } from "rxjs";

@Injectable()
export class StaffService{
  constructor(private http: Http) {
  }

getDept(depid: number): Observable<any>{
    return this.http.get('http://127.0.0.1:8000/api/dept/' + depid)
    .map(
      (response: Response) => {
        return response.json().department;
      }
    );
  }
}

控制台输出

在此处输入图片说明

邮递员 JSON 响应 在此处输入图片说明

这是我的后端控制器(Laravel 5.4)来调用前端 Angular2 应用程序。

    public function getDeptinfo($id)
   {
     $staffinfo = Staff::find($id);

     if($staffinfo){
         $officeinfo = Office::find($staffinfo['OfficeID']);
     }

     $response = [
         'staffinfo' => $staffinfo,
         'officeinfo' => $officeinfo
     ];

     return response()->json($response, 200);
   }
维维克多西

您需要将响应分配给department

服务 :

getDept(depid: number): Observable<any>{
    return this.http.get('http://127.0.0.1:8000/api/dept/' + depid)
    .map((response: Response) => response.json());
  }
}

DepartmentComponent用这个替换你的

export class DepartmentComponent implements OnInit {
    department: Department;

    constructor(private staffService: StaffService) { }

    onSubmit(form: NgForm) {
        this.staffService.getDept(form.value.depid).subscribe((res) => {
            this.department = res;
        });
        form.reset();
    }
}

模板端

替换这个:

<div *ngFor="let dep of department">
  {{ dep.staffinfo }}
</div>

和 :

{{ department?.staffinfo | json }}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从 Angular2 应用程序获取 json 值

来自分类Dev

如何在Visual Studio Code中调试Angular2 TypeScript应用程序?

来自分类Dev

如何在angular2应用程序中初始化Ag-grid API

来自分类Dev

如何在Angular2应用程序中嵌入/隔离JS组件(Google地图)?

来自分类Dev

如何在 IIS 中托管 angular2 应用程序?

来自分类Dev

如果POST失败,如何在angular 2应用程序中还原数据

来自分类Dev

如何在angular2中获取订阅数据的值

来自分类Dev

如何在角度 2 中获取数据复杂的 json 响应?

来自分类Dev

如何在Angular2中触发应用程序范围内的事件或观察全局变量

来自分类Dev

如何从Heroku上的应用程序获取正确的JSON响应?

来自分类Dev

如何在Blazor应用程序中仅对经过身份验证的用户响应图像数据?

来自分类Dev

跨应用程序实例的Angular2数据绑定-如何停止?

来自分类Dev

如何从 Angular js 中的 Json 数组响应中获取基本数组数据

来自分类Dev

如何在本地tomcat服务器上部署angular2应用程序?

来自分类Dev

如何在Maven中使用Typescript配置Angular2应用程序?

来自分类Dev

如何在本地tomcat服务器上部署angular2应用程序?

来自分类Dev

如何在heroku上托管angular2应用程序?

来自分类Dev

如何在angular2应用程序中使用html代码

来自分类Dev

如何在angular2应用程序中使用Braintree的嵌入式UI?

来自分类Dev

如何在 github 上部署 angular2 cli 应用程序?

来自分类Dev

在PHP的Angular2应用程序中删除数据

来自分类Dev

如何在Android应用程序中解析以下JSON响应

来自分类Dev

Angular2 - 如何将 HTTP 标头添加到我的应用程序发送到浏览器的响应中?

来自分类Dev

如何在Linux中查找无响应的应用程序

来自分类Dev

在Angular2应用程序中渲染JSON对象将导致“对象对象”

来自分类Dev

Angular2:使指令在整个应用程序中可用

来自分类Dev

如何在angular2 cli中显示http响应数组?

来自分类Dev

如何从Angular 2中的JSON数据获取数组

来自分类Dev

如何在iPhone应用程序中按日期从sqlite表中获取数据

Related 相关文章

  1. 1

    如何从 Angular2 应用程序获取 json 值

  2. 2

    如何在Visual Studio Code中调试Angular2 TypeScript应用程序?

  3. 3

    如何在angular2应用程序中初始化Ag-grid API

  4. 4

    如何在Angular2应用程序中嵌入/隔离JS组件(Google地图)?

  5. 5

    如何在 IIS 中托管 angular2 应用程序?

  6. 6

    如果POST失败,如何在angular 2应用程序中还原数据

  7. 7

    如何在angular2中获取订阅数据的值

  8. 8

    如何在角度 2 中获取数据复杂的 json 响应?

  9. 9

    如何在Angular2中触发应用程序范围内的事件或观察全局变量

  10. 10

    如何从Heroku上的应用程序获取正确的JSON响应?

  11. 11

    如何在Blazor应用程序中仅对经过身份验证的用户响应图像数据?

  12. 12

    跨应用程序实例的Angular2数据绑定-如何停止?

  13. 13

    如何从 Angular js 中的 Json 数组响应中获取基本数组数据

  14. 14

    如何在本地tomcat服务器上部署angular2应用程序?

  15. 15

    如何在Maven中使用Typescript配置Angular2应用程序?

  16. 16

    如何在本地tomcat服务器上部署angular2应用程序?

  17. 17

    如何在heroku上托管angular2应用程序?

  18. 18

    如何在angular2应用程序中使用html代码

  19. 19

    如何在angular2应用程序中使用Braintree的嵌入式UI?

  20. 20

    如何在 github 上部署 angular2 cli 应用程序?

  21. 21

    在PHP的Angular2应用程序中删除数据

  22. 22

    如何在Android应用程序中解析以下JSON响应

  23. 23

    Angular2 - 如何将 HTTP 标头添加到我的应用程序发送到浏览器的响应中?

  24. 24

    如何在Linux中查找无响应的应用程序

  25. 25

    在Angular2应用程序中渲染JSON对象将导致“对象对象”

  26. 26

    Angular2:使指令在整个应用程序中可用

  27. 27

    如何在angular2 cli中显示http响应数组?

  28. 28

    如何从Angular 2中的JSON数据获取数组

  29. 29

    如何在iPhone应用程序中按日期从sqlite表中获取数据

热门标签

归档