Справка по плагину JQuery - PullRequest
       24

Справка по плагину JQuery

2 голосов
/ 02 декабря 2009

Я пытаюсь разработать плагин JQuery, который будет обращаться к внешнему XML-каналу и отображать результаты. Вот что у меня есть:

Заголовок HTML включает

<script language="javascript" src="jquery.rss.js" type="text/javascript"></script>

JQuery Ready

<script type="text/javascript">
  $(document).ready(function() {  
    $("#rss").rss({count:6,loading_text:"loading"});
  });
</script>

Плагин (jquery.rss.js)

(function($) {

    $.fn.rss = function (o) {
        var s = {
            count: 6,
            loading_text: null,
        };

        if(o) $.extend(s,o);
        return this.each (function () {
            var list = $('<ul class="rss">').appendTo(this);
            var loading = $('<p class="desc"><center><img src="loading.gif" height="19" width="18" border="0"><br>'+s.loading_text+'</center></p>');
            var items = 0;
            var url = 'http://www.example.com/feed.xml;
            if (s.loading_text) $(this).append(loading);

            $.get(url,{},function(data){
                if (s.loading_text) loading.remove();       
                $('forecastday',data).each(function(i){
                    var title = $(this).find("title").text();
                    var description = $(this).find("description").text();

                    list.append('<li>' + title + ' - ' + description + '</li>');

                    items++;
                    if(items == s.count) last;
                });
            });
        });
    }

})(jQuery);

Кажется, все работает правильно, пока я не попытаюсь сделать $ .get, после чего кажется, что ничего не возвращается. С помощью alert () я подтвердил, что из запроса $ .get вызывается правильный URL.

Надеюсь, я не за горами, и гуру JQuery может указать, где я ошибаюсь. Заранее спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Проверьте этот плагин jQuery: jdigiclock . Он использует прокси для получения и анализа XML-данных и передает их сценарию jQuery. Я думаю, что это то же самое, что вы ищете.

1 голос
/ 02 декабря 2009

Вы не можете выполнять междоменные запросы ajax. Либо разработайте прокси на стороне сервера (развернутый на том же хосте), который направит ваш запрос в wunderground, либо найдите API, поддерживающий JSONP.

См. Также - API для получения погоды на основе координат долготы и широты

...