私はこのような結果を呼び出し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
成功ハンドラーに返されないのはなぜですか?