Angular 4 - 代码响应值未定义

时间:2017-08-22 09:49:19

标签: angular

我正在从html表中的json文件加载数据

这是我的组件文件中的方法:

getParticulars(){
        this._particularService.getParticulars().subscribe(
            result => {
                console.log("code: ", result.code);
                if(result.code != 200){
                    console.log("Respuesta: ", result);
                }else{
                    console.log("Si tengo datos para particulares");
                    this.particulars = result.data;
                }

            },
            error => {
                console.log(<any>error);
            }
        );
    }

这是我的服务文件中的方法:

getParticulars(){
    return this._http.get(this.url).map(res => res.json());
}

这是json文件:

[
    {
      "code": "200"
    },
    {
      "field1": "1",
      "field2": "2",
      "field3": "3",
      "field4": "31/12/9999",
      "field5": "4,
      "field6": "5",
      "field7": "7",
      "field8": "8",
      "field9": "9",
      "field10": "10"
    },
    {
      "field1": "11",
      "field2": "12",
      "field3": "11/07/2017",
      "field4": "13",
      "field5": "14",
      "field6": "15",
      "field7": "16",
      "field8": "17",
      "field9": "18",
      "field10": "19"
    }
  ]

问题是,响应服务代码(result.code)值未定义,但我不知道为什么?

console.log("code: ", result.code);

如果结果代码未定义,我将在condicion中访问,当结果代码不同于200时,但它在控制台浏览器中显示正确的json文件。

console.log("Respuesta: ", result);

谢谢,

2 个答案:

答案 0 :(得分:3)

result 是一个数组,所以你应该指定索引,

console.log("code: ", result[0].code);

答案 1 :(得分:0)

result [0] .code将完成这个技巧,它是结果数组的第0个索引