2017-06-22 23 views
1

jsonデータから特定の値を取得しようとしているときに、コンソールでエラーが発生しています。これはエラーです:ここではReactのjsonデータから特定の値を取得する方法

'Uncaught TypeError: Cannot read property 'processen_id' of undefined'

は私のコードです:

$.get("/getProces", function (data) { 
     if (data.error) { 
     } else { 
      for (var i = 0; i <= data.message.length; i++) { 
       var obj = data.message[i] 
       console.log(obj.processen_id) 
      } 
     } 
    }) 
} 

これは私が(データを)ログインしたときに、私が得るものです:

console.log(data)

+0

は、あなたの中だものを見るために 'data'と' data.message'をログに記録しようとしたことがありますか?明らかに 'message [i]'は存在しません – atomrc

答えて

1

あなたはミスを持っていますforループのコード

<= instead of <

$.get("/getProces", function (data) { 
      if (data.error) { 
      } else { 
       for (var i = 0; i < data.message.length; i++) { 
        var obj = data.message[i] 
        console.log(obj.processen_id) 
       } 
      } 
     }) 
    } 
+0

ありがとう、それは助け^^ – AndyAsmo97

1

エラーメッセージは、objが定義されていないことを意味します。つまり、data.message[i]は未定義の値を取得します。問題はループです。配列よりも大きいiが得られます。範囲外

for (var i = 0; i < data.message.length; i++) { 
    var obj = data.message[i] 
    console.log(obj.processen_id) 
} 
+0

ありがとう、それは助け^^ – AndyAsmo97

0

インデックス:<=<への変更for (var i = 0; i <= data.message.length; i++) {ではなくfor (var i = 0; i < data.message.length; i++) {をする必要があります。

あなたもこの方法であなたのコードを最適化することができます

$ 
    .get("/getProces") 
    .then((res) => res.error ? Promise.reject(res) : Promise.resolve(res)) 
    .then((data) => { 
    for (var i = 0; i < data.message.length; i++) { 
     var obj = data.message[i] 
     console.log(obj.processen_id) 
    } 
    }) 
関連する問題