搜索结果未显示

时间:2014-01-02 15:11:10

标签: jquery ajax json

我在动态搜索表单上显示结果时遇到问题。 jquery的代码是:

     $("#searchterm").keyup(function (e) {
    if (this.value.length > 4) {
        var q = $("#searchterm").val();
        $('#output').text('You typed ' + $(this).val() + '.');
        $.getJSON('http://catalog.api.2gis.ru/search?what=' + q + '&where=москва&version=1.3&key=rujrdp3400&pagesize=50&callback=?',
        function (data) {
            var tmp = {};
            if (data !== undefined && data.result.length !== 0) {
                $.each(json.result,function(i,result) {
                    var type = result.id;
                    if (!tmp[type]) {
                        tmp[type] = [];
                    }
                    tmp[type].push(result);
                    alert(result.id);

                });
                var html = [];
                $.each(tmp, function (key, item) {
                    html.push('<div id=' + key + '><h3 id=' + key + '>' + key + '</h3> <span>');
                    html.push(result.length + '</span><ul id="items">');
                    $.each(result, function (i, val) {

   var isLiked = getItemIdxByIdFromStorage(val.id) != -1;
                        html.push('<li><a href="#" onClick="podcat('+"'"+val.id+"'"+')">'+val.name+'</a></li>');

                    });

                    html.push('</ul></div>');
                });

                $('#results').html(html.join(''));

                $('h3#listings').replaceWith('<h3>Total results: </h3>');

            } else {
                $('#results').html('Nothing found');
            }
        });
    } else {
        $('#results').html('Please type at least 5 characters');
    }
});

我正在尝试获取result.id和result.name ...请在搜索字段中输入pizza。

如果有人可以帮助我,我会非常感激。抱歉,我的jquery等级低于初学者。

另请使用我的小提琴http://jsfiddle.net/TCYyH/

1 个答案:

答案 0 :(得分:0)

您正在从Web服务器请求JSONP响应(由URL中的&callback=?参数指示),而不是更传统的JSON响应。您应该能够从这里调试代码。

更改您的请求:

$.getJSON('http://catalog.api.2gis.ru/search?what=' + q + '&where=москва&version=1.3&key=rujrdp3400&pagesize=50&callback=?',

对此:

$.getJSON('http://catalog.api.2gis.ru/search?what=' + q + '&where=москва&version=1.3&key=rujrdp3400&pagesize=50',

要收到JSON回复。