1

我有以下要调试的脚本:

function getTabFrame() {
    $.ajax({
        url: 'get_tab_frame.aspx?rand=' + Math.random(),
        type: 'GET',
        dataType: 'json',
        error: function(xhr, status, error) {
            //alert('Error: ' + status + '\nError Text: ' + error + '\nResponse Text: ' + xhr.responseText);
        },
        success: function( data ) {
            $( "#divTabsDropdown" ).empty();

            $.each( data, function( index, item ) {

                // create tabs with custom ids
                $( "#tabs" ).tabs( "add", "get_tab_content.aspx?tab=" + item.key, item.value)
                    .find( ">ul>li:last" )
                    .attr( "id", "tab_group_" + item.key );

                // creates the buttons
                $( "#divTabsDropdown" ).append( "<div class='item custom_group' id='tab" + item.ordering + "'>" + item.value + "</div>" );

                // link buttons with tabs
                $("#tab" + item.ordering).live('click', function() {
                    $("#tabs").tabs( "select" , $( "#tab_group_" + item.key ).index() );
                });
            });
        }
    });
}

如果我添加一个断点$.ajax({并运行调试,那就是它停止的地方。如果我然后将鼠标悬停data在 line 上success: function( data ) {,则不会显示弹出窗口,因此看不到任何值。我想看看里面是什么data

所以我想“也许我需要按 F10 几次,这样萤火虫才能在显示值之前实际运行足够的 javascript/jquery”。所以我做到了,我到了函数的末尾,将鼠标悬停data在 中success: function( data ) {,再次没有弹出窗口,因此没有显示数据。

我究竟做错了什么?为什么我看不到里面装的是什么data

我已经在 firefox 中安装了 firebug plus firequery。

4

1 回答 1

1

data被定义为成功回调函数的参数。如果你想看到它的价值,你必须在这个函数的实现中上线。

您应该将断点放在成功回调的第一行,即

$( "#divTabsDropdown" ).empty();

如果它从未被击中,那就是您的请求仍在等待处理或以错误告终。在最后一种情况下,将调用错误回调。

于 2012-05-18T11:16:09.877 回答