如何从YQL查询中提取回调函数中的数据?

时间:2011-02-21 22:17:55

标签: javascript jquery callback yql

我已经设法返回一个回调函数,其中包含与提交的字符串相关的标题,该字符串被输入到文本输入框中,但我不知道我现在如何从我回调的函数中提取标题。输入并提交搜索字词。

以下是代码的JSFiddle:http://jsfiddle.net/JAS4H/39/

如果您输入搜索字词并按搜索!在文本输入框下方的按钮中,您可以看到YQL查询返回的cbfunc。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这应该这样做:

function cbfunc(data) {
    var s = ''; 

    $.each(data.query.results.result, function(i, item) {
        s += '<p>' + item.title + '</p>';
    });    
    $('#searchResults').html(s);
}


$(function() {

    $('#search').live('submit', function(e) {
        e.preventDefault();
        $.ajax({
            url: 'http://query.yahooapis.com/v1/public/yql?q=' + 
                encodeURIComponent('SELECT title FROM search.web WHERE query="' +
                this.searchBar.value + '"') +
                '&format=json&diagnostics=true&callback=cbfunc',
            dataType: 'jsonp',
            jsonp: 'callback',
            jsonpCallback: 'cbfunc'
        });
    });

});

现场演示: http://jsfiddle.net/JAS4H/59/