【发布时间】:2013-10-12 00:42:29
【问题描述】:
我创建了一个 Backbone 集合来操作来自 4chan API 的 Boards 对象,如下所示:
var BoardsCollection = Backbone.Collection.extend({
model: Board,
url: 'https://api.4chan.org/boards.json',
sync: function(method, model, options){
options.timeout = 10000;
options.dataType = "jsonp";
options.crossDomain = true;
return Backbone.sync(method, model, options);
}
});
return new BoardsCollection();
由于跨域错误,我发出了 JSONP 请求以使其工作,但 4chan 响应的 JSON 如下:
{"boards":
[{"board":"3","title":"3DCG","ws_board":1,"per_page":15,"pages":11},
{"board":"a","title":"Anime \u0026 Manga","ws_board":1,"per_page":15,"pages":11}]
不是有效的 JSONP,因为 "boards" 项目和主干解析器失败并出现错误 "unexpected character :"。
所以我需要一种方法来编辑服务器的响应,从键“boards”中提取值并将其传递给集合进行解析。
作为旁注,我在 node.js 中创建了一个小服务器,它从 4chan 获取 json 并提取 board 的值并返回它,这样集合就可以正常工作了。但我将使用它来制作一个 jquery 移动应用程序,所以我需要连接到真正的 4chan API。
谢谢。
【问题讨论】:
-
如果没有 node.js 或 php 之类的代理,您将无法做到这一点
标签: javascript json backbone.js collections