将json_encode($ data)转换为div的仅数据列表的最简单方法

时间:2013-11-15 21:49:20

标签: javascript php json

我是json_encode的新手。


  • 来自其他功能的data.php已存在并生成json_encode($data)

  • json_encode($data)仅保留"SELECT name,size FROM lists";

  • 中的姓名和尺寸
  • window.onload = function () {
    {1}} {
    {1}} {
    {1}}


有没有办法将(function () {提取到列表格式,如:NAME(SIZE);上面的var a = document.getElementById('myDiv');函数每行一个名称/大小?

我浪费了很多时间用这个并且想要一个解决方案,但我要编写另一个页面list.php来运行onload来填充div。在这一点上真的想知道未来的知识。

JSON:

if (a) {  //*Need list*//  }});
Div将看起来像:

芝士汉堡(100)
milessize(51)
万圣节(20)


通常我会编码:

json_encode($data)

但我不了解json的全部功能并尝试添加到我的知识库中。
那么如何使用JSON获得相同的结果?

2 个答案:

答案 0 :(得分:3)

如果我理解你这就是你想要的:

window.onload = function() {
    var a = document.getElementById("mydiv");
    var hr = new XMLHttpRequest();
    hr.open("GET", "data.php", true);
    hr.setRequestHeader("Content-type", "application/json");
    hr.onreadystatechange = function() {
        if(hr.readyState == 4 && hr.status == 200) {
        var data = JSON.parse(hr.responseText);
      //var data = [{"name":"Cheese Burger","size":"100"}, 
      //            {"name":"miles","size":"51"},
      //            {"name":"Halloweens","size":"20"}];
        a.innerHTML = "";       
        var html='';
        for (var i in data) {
            html +=  data[i].name + "("+ data[i].size +") <br />";
        }
    a.innerHTML=html; 
        }
    }
    hr.send(null);
}

它将在您的div <div id="mydiv" name="">中输出:

Cheese Burger(100) 
miles(51) 
Halloweens(20) 

答案 1 :(得分:0)

// var json comes from php
function convert(json){
    var obj={};
    for(var ii=0;ii<json.length;ii++){
        obj[json[ii].name]=json[ii].size;
    };
    return obj;
}

您可以使用来自PHP端json_encode的数据来调用此函数。