私はgetJSON
を呼び出して、このような結果をループして、すべてが素晴らしい仕事をしていたました: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
成功ハンドラに戻らないのはなぜですか?
maybを使用して確認してください..あなたは、サーバーから取得している応答をチェックして、あなたが戻ってきている完全な応答が正しいデータ型を持っており、有効なJSONであることを確認してください..あなたがの開発ツールを使用してこれを行うことができますあなたがurサイトをテストするために使用しているブラウザ –
@ParvSharmaありがとうございましたが、私が述べたように、私は応答を返さないでしょう。成功ハンドラのコードの最初のビットは 'alert( 'working!')'であり、私はそれを打つことさえしていません。私はまた、サーバー上にブレークポイントを置き、生成されたデータをチェックし、それが有効なJSONであることを確認したと述べました。 – ubiquibacon