0

我的 json_encode 有这个回复

[{"name":"Client Serv","Handled":"1","Resolved":"1","Escalated":"0"},
 {"name":"Chat","Handled":"1","Resolved":"0","Escalated":"0"}]

我希望将这些数据制成表格,但是,我认为我的代码有问题。附加的东西没有用。

request.done(function(msg) {
    $("#my_progress tbody").html('');
    msg = JSON.parse(msg);
    for(i = 0; i < msg.length; i++){
        $('#my_progress tbody').append('<tr><td>' + msg[i].name +'</td><td>' + msg[i].Handled + '</td><td>' + msg[i].Resolved + '</td><td>' + msg[i].Escalated + '</td></tr>');
    }
});
4

4 回答 4

0

它对我有用..看看JSFiddle

所以你的问题似乎在其他地方。你确定request.done叫?

在浏览器中打开 javascript 控制台并查找错误!

于 2013-07-17T14:44:13.233 回答
0

jQuery ajax 方法中可能存在 dataType(或其他)错误。所以 done 方法不会调用它的函数参数。如果您可以复制和粘贴完整的 ajax 方法,那就太好了。

于 2013-07-17T15:58:03.733 回答
0

有一个 Uncaught SyntaxError: Unexpected token A in this line msg = JSON.parse(msg);

这是我完整的ajax方法,

get_hourly_progress: function(o){


        var request = $.ajax({
              url: Logger.baseurl +Logger.indexpage+ "cs/get_hourly_progress",
              type: "POST",
              data: { 'end_date': $('#time_interval').val()},
              dataType: "html",
              beforeSend: function(jqXHR, settings){

              }
            });


            request.done(function(msg) {
                $("#my_progress tbody").html('');
                msg = JSON.parse(msg);
                for(i=0;i<msg.length;i++){  
                    $('#my_progress tbody').append('<tr><td>' + msg[i].name +'</td><td>' + msg[i].Handled + '</td><td>' + msg[i].Resolved + '</td><td>' + msg[i].Escalated + '</td></tr>');
                }
            }); 


            request.fail(function(jqXHR, textStatus) {
                console.log(jqXHR);
                console.log(textStatus);
                alert( "Request failed: " + textStatus );
            });

},
于 2013-07-18T03:52:47.510 回答
0

在将其解析为 javascript 对象之前,请确保在 request.done 函数中成功传递了正确的 JSON 字符串。

于 2013-07-18T04:40:12.497 回答