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 回答