Как я могу извлечь данные, которые я хочу в функции обратного вызова из запроса YQL? - PullRequest
1 голос
/ 22 февраля 2011

Мне удалось вернуть функцию обратного вызова, содержащую заголовки, относящиеся к отправленной строке, которая вводится в поле ввода текста, но я не уверен, как теперь можно извлечь только заголовки из функции обратного вызова, которая возвращается, когда явведите и отправьте поисковый запрос.

Вот JSFiddle кода: http://jsfiddle.net/JAS4H/39/

Если вы введете поисковый запрос и нажмете Поиск!Кнопка под полем ввода текста позволяет увидеть cbfunc, возвращаемый запросом YQL.

Заранее благодарен за любую помощь!

1 Ответ

0 голосов
/ 22 февраля 2011

Это должно сделать это:

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/

...