我有一个getJSON函数,如下所示:
$.getJSON("jsonStats.php?action=segment", function(json) {
//Loop over each of the values in the jSON response to make the table.
var tableSegments = '',
counter = 1;
$.each(json, function(key, value) {
tableSegments += '<tr>';
tableSegments += '<td></td>';
tableSegments += '<td>'+counter+'</td>';
tableSegments += '<td>'+value['name']+'</td>';
tableSegments += '<td>'+value['y']+'</td>';
tableSegments += '</tr>';
counter++;
});
$('#segmentTable').empty().append(tableSegments);
});
我遇到的问题是它在获取数据之前运行每个语句/创建表。有没有办法让它等到它在执行该部分之前实际拥有jSON数据?
答案 0 :(得分:1)
您可以使用done
回调(jquery.getjson reference):
$.getJSON('jsonStats.php?action=segment')
.done(function(json)
{
//Loop over each of the values in the jSON response to make the table.
var tableSegments = '',
counter = 1;
$.each(json, function(key, value)
{
tableSegments += '<tr>';
tableSegments += '<td></td>';
tableSegments += '<td>'+counter+'</td>';
tableSegments += '<td>'+value['name']+'</td>';
tableSegments += '<td>'+value['y']+'</td>';
tableSegments += '</tr>';
counter++;
});
$('#segmentTable').empty().append(tableSegments);
})
.fail(function(jqxhr, textStatus, error)
{
var err = textStatus + ', ' + error;
console.log( 'Request Failed: ' + err );
});
答案 1 :(得分:0)
想出来......
value['name'] and value['y']
需要value[0]
和value[1]
今天早上我的标题为text/javascript
,因此响应是一个对象,将其更改为application/json
,这就是使这些值发生变化的原因。