试图迭代JSON对象

时间:2017-11-27 21:38:04

标签: javascript json

尝试通过循环遍历包含png文件的目录来遍历我在PHP中编码的JSON对象。 我没有运气在getLayersObject中迭代JSON。 我尝试了以下代码,但它没有用。 有什么建议?

<?php

  $dir = "layers";
  $layers = array();
    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
       while (($file = readdir($dh)) !== false) {
        if ($file != '.' && $file != '..') {
            array_push($layers, $file);
        }
    }
    closedir($dh);
    }
}

 echo json_encode(array('phone' => $layers),  JSON_FORCE_OBJECT);
?>
  

的JavaScript

var Layers = (function () {
var layers = [];
var mobileLayer = '';
var initialisering = function(){
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var myObj = JSON.parse(xmlhttp.responseText);
            layers.push(myObj);
        }
    };
    xmlhttp.open("GET", "http://localhost/layers/get_layers.php", true);
    xmlhttp.send();
    getLayersObject();

};

var getLayersObject = function(){
    mobileLayer = document.getElementsByClassName('layer');
    Object.keys(layers.phone).forEach(function(key,index) {
        console.log(key, layers.phone[index]);
    });
}

return {
    initialisering: initialisering
    };
 })();

 window.addEventListener("load", Layers.initialisering());
  

JSON结果

{
   "phone": {
    "0": "11.png",
    "1": "12.png",
    "2": "14.png",
    "3": "15.png",
    "4": "4.png",
    "5": "7.png",
    "6": "9.png",
    "7": "front_kamera.png"
    }
}

0 个答案:

没有答案