我要将数组形式 php 传递给 javascript,我的解决方案是使用 php 生成 html 列表项,如下所示:
<ul id="data" class="hidden">
<li value="0">
<ul>
<li value="id">1</li>
<li value="productLine">Vintage Cars</li>
</ul>
</li>
<li value="1">
<ul>
<li value="id">2</li>
<li value="productLine">Ships</li>
</ul>
</li>
<li value="2">
<ul>
<li value="id">3</li>
<li value="productLine">Trains</li>
</ul>
</li>
</ul>
并使用 javascript DOM API 使其成为多维关联数组:
function selectProductLine(){
var rootUlNode = document.getElementById('data');
var rootLiNodes = rootUlNode.children;
var hiddenHash = {};
for(var i=0;i< rootLiNodes.length;i++){
var rootLiNodeValue = rootLiNodes[i].getAttribute('value');
var liNodes = rootLiNodes[i].firstElementChild.children;
for(var i=0; i < liNodes.length;i++){
hiddenHash[rootLiNodeValue] = {};
var liNodeValue = liNodes[i].getAttribute('value');
var liNodeContent = liNodes[i].textContent;
hiddengegHash[rootLiNodeValue][liNodeValue] = liNodeContent;
}
}
return hiddenHash;
}
但是运行代码可能会使我的浏览器崩溃,所以我无法调试它,任何人都可以指出我的问题在哪里?而且我认为应该有一种元素方式将数据从 php 传输到 javascript,比如使用 json,有人可以在这个主题上提供更好的解决方案或资源吗?