在循环中显示JSON数据

时间:2016-02-05 10:17:58

标签: php jquery ajax

我需要在PHP中显示JSON数据。数据以循环形式出现。原始数据如下所示:

[{
    "count": 3,
    "not": "New Intender details entered"
},{
    "count": 3,
    "not": "New Intender details entered"
},{
    "count": 3,
    "not": "New Intender details entered"
}]

我的AJAX脚本如下:

function addmsg(type, msg) {
    var obj = jQuery.parseJSON(msg);
    $.each(obj, function(index, value) {
        var count = value.count;
        var not = value.not;
        alert(not);
        $('#msg_count').html(count);
        $('#notification').html(not);
    });
}

function waitForMsg(){
    $.ajax({
        type: "GET",
        url: "notification/select.php",
        cache: false,
        timeout: 50000,
        success: function(data){
            addmsg("new", data);
            setTimeout(waitForMsg, 1000);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            addmsg("error", textStatus + " (" + errorThrown + ")");
            setTimeout(waitForMsg, 15000);
        }
    });
};

$(document).ready(function(){
    waitForMsg();
});

我的HTML如下:

<span id="msg_count"></span>
<span id="notification"></span>

我面临的问题是msg_count显示正常。现在通知是一个循环,这意味着它包含多个记录。当我通过span调用它时,它只显示一条记录。其余的记录没有显示。我给了alert(not)警告所有记录。我在html中显示为<span id="notification"></span>只有问题。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果通知显示循环数据,那么您必须添加所有非变量,然后在通知范围中显示它。代码如下:

 function addmsg(type, msg) {
        var obj = jQuery.parseJSON(msg);
        var not = "";
        $.each(obj, function(index, value) {
            var count = value.count;
            not += value.not+"<br/>";
            $('#msg_count').html(count);

        });
    $('#notification').html(not);
    }