Javascript 如何使用getJSON从JSON对象以HTML形式输出数据

Javascript 如何使用getJSON从JSON对象以HTML形式输出数据,javascript,html,ajax,json,setinterval,Javascript,Html,Ajax,Json,Setinterval,你好,我会尽量保持这个简单和简短 我有一个getJSON函数,每5秒运行一次。现在,当我使用document.write函数显示数据时,它似乎不想更新。页面卡在加载循环中。我如何获得要显示在页面上的数据?我的JSON很好,但无论如何我都会告诉你 <script type="text/javascript"> $.ajaxSetup ({ cache: false }); setInterval(function(){ $.getJSON

你好,我会尽量保持这个简单和简短

我有一个getJSON函数,每5秒运行一次。现在,当我使用document.write函数显示数据时,它似乎不想更新。页面卡在加载循环中。我如何获得要显示在页面上的数据?我的JSON很好,但无论如何我都会告诉你

  <script type="text/javascript">

 $.ajaxSetup ({  
    cache: false  
     });  

    setInterval(function(){ $.getJSON('names.json', function(data) {

    for(i in data)  {

        document.write(data[i] + "<br/>");
    }

  });



},5000);

 </script>

您希望呈现包含数据的dom,然后在获取数据时更新dom

作为一个非常简单的例子,您的页面上有一个容器

<div id="one"></div>

这将使用jquery获取id为“one”的dom元素,并更新其文本。

您希望呈现包含数据的dom,然后在获取数据时更新dom

作为一个非常简单的例子,您的页面上有一个容器

<div id="one"></div>

这将使用jquery获取id为“one”的dom元素,并更新其文本。

我建议您使用jquery

我用它从我的json项创建了一个表单,我希望这有助于

function jsonFormCreator(frmJSON)
{
    var createdHTML = ""; var elementType, id;
    console.log(JSON.stringify(frmJSON));



    for(item in frmJSON)
    {
        formElement = frmJSON[item];    elementType = formElement.elementType;  id = formElement.id;

        if(elementType == "input")
        {
            createdHTML += "<input id='" + id +"'";
            if(formElement.type == "checkbox") 
            {createdHTML += " type='" + formElement.type + "' checked='" + formElement.checked + "'";}
            else{createdHTML += "type='" + formElement.type + "' value='" + formElement.value + "' onclick='" + formElement.onclick + "'";}
            createdHTML += "/><br>"
        }
        else if(elementType == "textarea")
        {createdHTML += "<textarea id='" + formElement.id  + "' rows='" + formElement.rows +  "' cols='" + formElement.cols + "' value='" + formElement.value + "'></textarea><br>";}
        else if(elementType == "select")
        {
            var options = formElement.values;
            createdHTML += "<select id='" + formElement.id+ "'>";
                for(i = 0 ; i < options.length ; i++)
                {createdHTML += "<option value='" + options[i][0] + "'>" + options[i][1] + "</option>";} //Adding each option
            createdHTML+= "</select><br>";
        }
    }
    console.log("Complete");console.log(createdHTML);
    document.getElementById('mainContainer').innerHTML = createdHTML;//Adding to the DOM
}
此代码使用id mainContainer将表单添加到我的div标记中
我知道它有很多代码,但我希望它有帮助

我建议您使用jQuery

我用它从我的json项创建了一个表单,我希望这有助于

function jsonFormCreator(frmJSON)
{
    var createdHTML = ""; var elementType, id;
    console.log(JSON.stringify(frmJSON));



    for(item in frmJSON)
    {
        formElement = frmJSON[item];    elementType = formElement.elementType;  id = formElement.id;

        if(elementType == "input")
        {
            createdHTML += "<input id='" + id +"'";
            if(formElement.type == "checkbox") 
            {createdHTML += " type='" + formElement.type + "' checked='" + formElement.checked + "'";}
            else{createdHTML += "type='" + formElement.type + "' value='" + formElement.value + "' onclick='" + formElement.onclick + "'";}
            createdHTML += "/><br>"
        }
        else if(elementType == "textarea")
        {createdHTML += "<textarea id='" + formElement.id  + "' rows='" + formElement.rows +  "' cols='" + formElement.cols + "' value='" + formElement.value + "'></textarea><br>";}
        else if(elementType == "select")
        {
            var options = formElement.values;
            createdHTML += "<select id='" + formElement.id+ "'>";
                for(i = 0 ; i < options.length ; i++)
                {createdHTML += "<option value='" + options[i][0] + "'>" + options[i][1] + "</option>";} //Adding each option
            createdHTML+= "</select><br>";
        }
    }
    console.log("Complete");console.log(createdHTML);
    document.getElementById('mainContainer').innerHTML = createdHTML;//Adding to the DOM
}
此代码使用id mainContainer将表单添加到我的div标记中
我知道它有很多代码,但我希望它有帮助

不要实际使用
文档。编写
。加载页面后,将擦除该页面。使用(jQuery的)DOM方法来操作DOM

$.getJSON('names.json', function(data){
    for(var i in data){
        $('#myDiv').append(data[i]);
    }
});

不要实际使用
文档。编写
。加载页面后,将擦除该页面。使用(jQuery的)DOM方法来操作DOM

$.getJSON('names.json', function(data){
    for(var i in data){
        $('#myDiv').append(data[i]);
    }
});