Javascript 是否有getJSON success函数?

Javascript 是否有getJSON success函数?,javascript,jquery,json,Javascript,Jquery,Json,我有一个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, valu

我有一个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);   
});
$.getJSON(“jsonStats.php?action=segment”,函数(json){
//循环jSON响应中的每个值以生成表。
var表段=“”,
计数器=1;
$.each(json、函数(键、值){
表段+='';
表段+='';
表段+=''+计数器+'';
表段+=''+值['name']+'';
表段+=''+值['y']+'';
表段+='';
计数器++;
});
$('#segmentTable').empty().append(表段);
});

我遇到的问题是,它在获取数据之前运行each语句/创建表。有没有办法让它在执行该部分之前等待,直到它实际拥有jSON数据?

您可以使用
done
回调():

$.getJSON('jsonStats.php?action=segment')
.done(函数(json)
{
//循环jSON响应中的每个值以生成表。
var表段=“”,
计数器=1;
$.each(json、函数(键、值)
{
表段+='';
表段+='';
表段+=''+计数器+'';
表段+=''+值['name']+'';
表段+=''+值['y']+'';
表段+='';
计数器++;
});
$('#segmentTable').empty().append(表段);
})
.fail(函数(jqxhr、textStatus、error)
{
var err=textStatus+','+错误;
日志('Request Failed:'+err);
});
算出了

value['name'] and value['y'] 
需要是
值[0]
值[1]


今天早上我在《意外》中的标题是
text/javascript
,所以响应是一个对象,将其更改为
application/json
,这就是导致这些值更改的原因。

来自
$的值。每个
仅打印未定义的值,即使在我登录时数据存在it@SBB请看这个:
$。getJSON
忽略
内容类型
标题,我认为这与此无关。听起来好像你在PHP中更改了数组的格式“…在它得到数据之前”,这不是真的。
value['name'] and value['y']