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その行success: function( data ) {にカーソルを合わせると、ポップアップが表示されないため、値が表示されません。中に何が入っているのか見たいですdata

そのため、「値が表示される前に、firebugが実際にjavascript / jqueryを十分に実行できるように、F10を数回押す必要があるかもしれません」と思いました。それで、関数の最後に到達し、マウスをdataでホバーしましたsuccess: function( data ) {。また、ポップアップが表示されないため、データが表示されません。

私は何が間違っているのですか?何が入っているのかわからないのはなぜdataですか?

Firefoxにfirebugとfirequeryをインストールしました。

4

1 に答える 1

1

data成功コールバック関数のパラメータとして定義されています。その値を確認したい場合は、この関数の実装の行にいる必要があります。

成功のコールバックの最初の行にブレークポイントを配置する必要があります。

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

ヒットしない場合は、リクエストがまだ保留中か、エラーになったことを意味します。この最後のケースでは、エラー コールバックが呼び出されます。

于 2012-05-18T11:16:09.877 に答える