私はJSONファイルからデータを引っ張っている:私は様々な段階ではconsole.logを試みたと私まで、問題はありませんのJavaScript/jQueryのJSONアレイ号 - 未定義
[
{
"video": "video/preroll"
},
{
"video": "video/areyoupopular"
},
{
"video": "video/destinationearth"
}]
下の段階に進んでください。私はJSON文字列の各ビデオの値を必要とし、それらをplaylistというラベルの配列に入れます。私が使用しているコードは次のとおりです。
$(function() {
var playlist = [];
var url = "http://localhost/class_files2/week7.1/video-data.json";
$.get(url, function(data) {
// console.log(data); at this point returns the JSON string as expected.
for (var i=0; i<data.length; i++) {
playlist.push(data[i].video);
}
console.log(playlist);
});
});
配列がアップ見せているが、いくつかの未定義の値を(スクリーンショットを参照します)。 array error
私はプレイリスト配列にビデオ値を取得する必要があります。私は、同じファイルを使用して期待通りに値をプレイリスト配列にプッシュしている他の人の助けを得ました。
プッシュの前にconsole.logを配置するとJSON文字列が取得されますが、これは156回実行されます(スクリーンショット参照)。 array 156
私は新しいファイルの作成と再入力(コピーと貼り付けではない)を試みました。私は完全なAJAX GETメソッドを使用しようとしています。私はそれが私の声明では何かだと確信していますが、すべてが正しいようです。私は他の誰かの助けを借りて手を差し伸べていましたが、問題なくアレイを期待通りに取得しています(2番目のスクリーンショット)。 XAMPP for OS X 1.8.3-4を実行しています MacBook Pro(Retina、13インチ、2013年後期) OSX El Capitan 10.11.4 Chrome、Firefox、Safariで同じエラーが発生します。
何が問題になる可能性がありますか?計算されていない別の変数がない限り、他の誰かのコンピュータ上の同じファイルが動作するように見えるので、特に奇妙です。
コードは正常です。おそらくあなたのデータファイルが壊れています –
あなたは私に 'data'のタイプを教えてくれますか? forループ 'console.log(typeof(data));の前に行を追加しました。疑問です、それはjson文字列です –
' var playlist = []; '宣言を非同期' get'関数の中に挿入して返します。その結果として。プレイリストが定義された同期関数内で非同期関数を実行しています。 – Redu