2016-09-29 2 views
-3

jsonデータからXMLHttpRequestを持つすべてのジョブを表示したいのですが、データを表示できません。この私の機能:jsonとAJAXからデータを返します

function getJobs() { 
    let httpRequest = new XMLHttpRequest(); 
    httpRequest.open('GET', 'http://codepen.io/jobs.json', true); 
    httpRequest.onreadystatechange =() => { 
    if (httpRequest.readyState == 4) { 
     let data = JSON.parse(httpRequest.responseText); 
     Object.keys(data).forEach((key) => { 
     console.log(key[0].company_name); // undefine 
     }); 
    } 
    }; 
    httpRequest.send(); 
} 

getJobs(); 

私のforEachについて私を助けてくれますか? jsonは配列のオブジェクトで、いくつかのオブジェクトがあります^^

ありがとうございました!

+0

を試してみてください。ですから、人間は個人的な解決策に遭遇します。 – reporter

+0

私は 'Object.keys(data).map(key)=> { console.log(data [key] [0] ['タイトル']); });でテストしましたが、私は各ジョブを表示することができません –

答えて

0

各JSONオブジェクトがindividuelly作成することができ、この

function getJobs() { 
    let httpRequest = new XMLHttpRequest(); 
    httpRequest.open('GET', 'http://codepen.io/jobs.json', true); 
    httpRequest.onreadystatechange =() => { 
    if (httpRequest.readyState == 4) { 
     let data = JSON.parse(httpRequest.responseText); 
     data.jobs.forEach(function(key, value) { 
     console.log(key.company_name); 
     }); 
    } 
    }; 
httpRequest.send(); 
} 
1

key変数プロパティ(すなわち、キー)の名前を保持し、それは、プロパティの値を保持していません。

var value = data[key]; 
console.log(value[0].company_name); 
+0

こんにちは、このソリューションは配列 'ジョブ' –

+1

@StéphaneRのすべてのジョブをリストしていません。 - うーん、ダメ。あなたはオブジェクトのプロパティをループしています(プロパティには "jobs"が1つあります)。配列をループする場合は、代わりに配列をループする必要があります。 – Quentin

+0

だから私は 'Object.keys(data.jobs).forEach'に変更する必要がありますか? –

関連する問題