2

我正在尝试使用 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);
});

有人知道任何解决方案吗?

4

1 回答 1

2

您可以轻松使用一些很棒的服务,例如Yahoo Pipes. 我已经为the tv db. 你可以在这里查看 - http://pipes.yahoo.com/pipes/pipe.run?_id=2e4b059de7a389a0f361ca89b5f9c461&_render=json&seriesname=dexter

它的作用是 - 转换XMLJSON.

而且,您创建网址的方式不是Backbone方式。不要依赖于DOM您的数据。不要直接使用jQuery. events而是将, set 数据捕获到模型并在内部使用它们。

于 2013-07-08T02:27:48.810 回答