我正在尝试使用TVDB Api,但由于他们使用的是xml,我在使用Backbone和Paginator插件时遇到了这两个错误:
Resource interpreted as Script but transferred with MIME type text/xml: "http://thetvdb.com/api/GetSeries.php?seriesname=dexter&callback=jQuery19104464824248570949_1373195205356&_=1373195205357". jquery.js:5
Uncaught SyntaxError: Unexpected token <
我的js文件如下所示:
Tv.Collections.Shows = Backbone.Paginator.requestPager.extend({
paginator_core: {
url: Attr.tv.url,
type: 'GET',
contentType: 'text/xml',
},
paginator_ui: { currentPage: 0 },
server_api: {},
parse: function(resp) {
c(resp);
},
});
我正在使用它:
Tv.search = new Tv.Collections.Shows;
Tv.search.paginator_core.url = Attr.tv.url + $(ev.target).find('select').val() + '?seriesname=' + $(ev.target).find('.search_input').val();
Tv.search.fetch( function() {
c(Tv.search);
});
有人知道任何解决方案吗?
答案 0 :(得分:2)
您可以轻松使用Yahoo Pipes
等一些很棒的服务。我为the tv db
做了一个管道。你可以在这里查看 - http://pipes.yahoo.com/pipes/pipe.run?_id=2e4b059de7a389a0f361ca89b5f9c461&_render=json&seriesname=dexter
它的作用是将XML
转换为JSON
。
而且,您创建网址的方式不是Backbone
方式。不要依赖DOM
来获取您的数据。不要使用jQuery
直接获取它们。而是抓住events
,将数据设置为模型并在内部使用它们。