Jquery mobile, поиск в Твиттере loading - PullRequest
0 голосов
/ 28 июля 2011

Я все еще новичок в этом, но я пытаюсь войти в jQuery mobile.

Эта часть моего приложения (просто для тестирования) предназначена для загрузки различных поисковых запросов в Твиттере, основанных на нажатии кнопок 1 из 2. Поэтому, чтобы изменить запрос, я подумал о том, чтобы передать текст идентификатора данных и объединить его с остальной строкой поиска.

Итак, я начал и думаю, что знаю, где я не прав, но я не знаю, как поступить правильно, действительно!

По сути, я считаю, что поиск в твиттере загружается сразу на страницу, но моя строка передается только после того, как пользователь нажимает кнопку (с классом twitterlink на ней). Так что, во-первых, я не могу передать переменную, но во-вторых, твиты не будут загружаться, потому что URL: не заполнен в то время, когда должно быть.

Так что, когда я жестко кодирую // var url = 'http://search.twitter.com/search.json?q=from:irishhockey';, это работает великолепно, но попытки сделать что-либо из переменных вещей просто не работают для меня на данный момент

    var twitId;
     var url;   

    $(function(){

    //this part is to grab the data-identity string in       
     $('.twitterlink').live('click', 
                      function() {
                         twitId = $(this).data("identity");
                    //this was to concatenate the first part of the string with the twitId (data-identity)
                       url = 'http://search.twitter.com/search.json?q=from:' + twitId ;

                      }
                );
    //with the below hardcoded line uncommented it brings tweets in fine
    //var url = 'http://search.twitter.com/search.json?q=from:irishhockey';

       $.ajax({
            url: url,
            dataType: 'jsonp',
            success: function(json_results){

                console.log(json_results);

                // Need to add UL on AJAX call or formatting of userlist is not displayed
                $('#twitList').append('<ul data-role="listview"></ul>');
                listItems = $('#twitList').find('ul');
                $.each(json_results.results, function(key) {
                    html = '<img src="'+json_results.results[key].profile_image_url+'"/>';
                    html += '<h3><a href="#">'+json_results.results[key].text+'</a></h3>';
                    html += '<p>From: '+json_results.results[key].from_user+' Created: '+json_results.results[key].created_at+'</p>';
                    listItems.append('<li>'+html+'</li>');
                });
                // Need to refresh list after AJAX call
                $('#twitList ul').listview();

            }
        })
    })

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

Я знаю, что, вероятно, просто неверно подхожу к этому, но я просто не уверен, каким образом я должен идти к этому, так что, как я говорю ... всякая помощь приветствуется.

1 Ответ

0 голосов
/ 28 июля 2011

удалось разобраться с этими парнями, я вынул из функции функцию захвата идентификаторов данных, не было необходимости, и, похоже, теперь она работает нормально (уборка нужна, конечно, но кроме этого!) В любом случае ура

var twitId;
var url;

$('.twitterlink').live('click', function() {
    twitId = $(this).data("identity");
    url = 'http://search.twitter.com/search.json?q=from:' + twitId;


$.ajax({
    url: url,
    dataType: 'jsonp',
    success: function(json_results) {

        console.log(json_results);


        // Need to add UL on AJAX call or formatting of userlist is not displayed
        $('#twitList').append('<ul data-role="listview"></ul>');
        listItems = $('#twitList').find('ul');
        $.each(json_results.results, function(key) {
            html = '<img src="' + json_results.results[key].profile_image_url + '"/>';
            html += '<h3><a href="#">' + json_results.results[key].text + '</a></h3>';
            html += '<p>From: ' + json_results.results[key].from_user + ' Created: ' + json_results.results[key].created_at + '</p>';
            listItems.append('<li>' + html + '</li>');
        });
        // Need to refresh list after AJAX call
        $('#twitList ul').listview();


        }
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...