0

私はこのような結果を呼び出しgetJSONてループしていましたが、すべてがうまく機能していました:

$.getJSON( base_url + 'search/drill_down',{
        nextSelectName: nextSelectName,
        thisSelectName: thisSelectName,
        itemId: itemId
    }, function( r ) {
        $.each( r.items, function( k, v ) {
            //do stuff
        });
});

特定の条件でHTMLデータを返す必要がありますが、元の条件にはまだJSONが必要なので、HTMLをJSONとしてエンコードするだけでよいと考えましたが、データは返されません! 元のコードはまだ正常に動作します。問題が発生するのは、JSON としてエンコードされた HTML を返そうとしたときだけです。

$.getJSON( base_url + 'search/drill_down',{
        nextSelectName: nextSelectName,
        thisSelectName: thisSelectName,
        itemId: itemId
    }, function( r ) {

        alert('working!'); // Not hitting this!

        if(r.tabs){
            $.each( r.tabs, function( k, v ) {
            var html = v[ 'html' ];
                return $('#content').html(html); // No need to continue, there is only one HTML string and no items.
            });
        }

        $.each( r.items, function( k, v ) { 
            //do stuff
        });
});

サーバー上に (CodeIgniter を使用して) ブレーク ポイントがあり、そこにあるものはすべて問題ないようです。JSONとしてエンコードしたHTMLを確認しましたが、有効なJSONです。サーバーによって生成された JSON がgetJSON成功ハンドラーに返されないのはなぜですか?

4

1 に答える 1

1

唯一の説明は、要求が不正であったということであり、理由は多数ある可能性があります。間違った場所でリクエストしている可能性があります。を使ってチェック

console.log(base_url + 'search/drill_down');
于 2012-04-25T23:57:19.840 に答える