2012-05-14 3 views
0

Простой ответ на этот вопрос, я уверен, но не могу заставить его работать.Backbone Fetch Не возвращает результат

var DailyModel = BaseModel.extend({ 

    initialize: function() {}, 

    parse: function(res){ 
     console.log(res); 
    }, 

    url: 'http://search.twitter.com/search.json?q=obama' 

}); 

return DailyModel; 

В хроме, под сетью я получаю то же направление и просил URL в качестве виртуального хоста для приложения (то есть. Web.myapp.local). В конце функция parse не работает.

+0

Шаг в вызов извлечения и посмотрите, где он останавливается. – asawyer

ответ

0

Во-первых, вы можете захотеть, чтобы убедиться, что ваш метод инициализации делает то, что вы хотите, чтобы это сделать

изменение

initialize: function() {} 

в

initialize: function() { 
    BaseModel.prototype.initialize.apply(this, arguments); 
} 

Это потому, что Backbone не обеспечить наследование повсюду.

Во-вторых, я уверен, что вы будете иметь хорошую ошибку как

XMLHttpRequest не может загрузить http://search.twitter.com/search.json?q=obama. Происхождение web.myapp.local не разрешено Access-Control-Allow-Origin.

так что вместо этого вам придется использовать JSONP, и вы можете это сделать на странице API twitter: https://dev.twitter.com/docs/things-every-developer-should-know. Вы в основном добавляете querystring callback=MyCallbackFunction

+0

Спасибо за помощь, это некоторые хорошие изменения, и я включил их, но любой запрос, который я делаю с помощью .getJson или .ajax, по-прежнему возвращает html для web.myapp.local/index.php. Если URL-адрес для любого запроса ajax не является относительным, он возвращает эту страницу. – imrane

+0

Выяснил проблему - я использовал mockjax, библиотеку javascript для перехвата вызовов ajax, и это вызывало проблемы. Решила его, полностью удалив библиотеку. Спасибо, в любом случае. – imrane

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