2013-09-11 4 views
1

Мне удалось получить плагин typeahead.js, работающий на моей машине dev, но как только я нажал свой код на героку, он перестал работать. Вот соответствующий код:Typeahead.js не работает на сервере

if (Meteor.isClient) { 
    window.onload = function() { 
    $("input.entry").typeahead({ 
    name: "movies", 
    remote: { 
     url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=####################&page_limit=5&q=%QUERY", 
     dataType: 'jsonp', 
     template: ["<p><strong>{{title}}</strong></p>"], 
     engine: Handlebars, 
     filter: function(parsedResponse) { 
     var dataset = []; 
     movies = parsedResponse.movies; 
     for(i = 0; i < movies.length; i++) { 
      dataset.push({ 
       value: movies[i].title, 
       details: movies[i].critics_consensus, 
       image: movies[i].posters.profile 
      }); 
     } 
     return dataset; 
     } 
    } 
    }); 

    $('input.entry').bind('typeahead:selected', function(obj, datum) { 
    Movies.insert({ 
     name: datum.value, 
     consensus: datum.details, 
     image: datum.image, 
     voters: [], 
     creator: Meteor.user(), 
     time: Date.now() 
    }); 
    }); 
} 

Если я вставить содержимое window.onload в консоль JavaScript после загрузки страницы он работает отлично.

Есть ли у кого-нибудь идеи, почему это не работает должным образом?

Благодаря

ответ

0

Является ли ваше приложение на http://api.rottentomatoes.com? В противном случае у вас будут проблемы с CORS.

+0

Да, я создал приложение на Rotten Tomatoes сайте разработчика – initWithStyle

0

Я был в состоянии получить работу, поставив код typeahead.js в этом блоке Template.entryfield.rendered = function() { ... }

Смежные вопросы