Javascript 主干句柄字符串数组
使用Backbone.js,我需要处理从JSON web服务返回的字符串数组。我是否应该创建一个主干集合来获取此列表?以下是我从web服务获得的数据:Javascript 主干句柄字符串数组,javascript,json,backbone.js,Javascript,Json,Backbone.js,使用Backbone.js,我需要处理从JSON web服务返回的字符串数组。我是否应该创建一个主干集合来获取此列表?以下是我从web服务获得的数据: [“问题设计器”、“自适应问题设计器”、“可点击图像地图”、“随笔”、“填空”、“枫树评分”、“匹配”、“数学公式”、“多部分问题”、“多项选择”、“多项选择”、“数值”、“基于调色板的符号编辑器”、“真/假”、“其他”] 我创建了这个简单的集合来获取数据: var questionTypesCollection = Backbone.Colle
[“问题设计器”、“自适应问题设计器”、“可点击图像地图”、“随笔”、“填空”、“枫树评分”、“匹配”、“数学公式”、“多部分问题”、“多项选择”、“多项选择”、“数值”、“基于调色板的符号编辑器”、“真/假”、“其他”]
我创建了这个简单的集合来获取数据:
var questionTypesCollection = Backbone.Collection.extend({
url: function() {
return apiBase + '/questions/types';
}
});
但是,当我尝试获取()集合时,出现以下错误:
Uncaught TypeError: Cannot use 'in' operator to search for 'id' in Question Designer
看起来主干网正在尝试将字符串作为模型进行解析,而不是看到它只是一个原始字符串。如何将数据放入集合中,以便在视图中使用它?这没有多大意义,因为主干集合设计为模型集合。
但是,您可以使用自己的解析器重写该方法。如果您只需要字符串,最好的办法可能是让jQuery(或Zepto——任何具有
$
的工具)处理繁重的工作:
var names = [];
$.get(apiBase + '/questions/types', {}, function(result){
names = result;
})
获取完成后,
names
变量将填充查询结果。集合是模型集合。除了主干中的模型之外,没有任何其他集合的概念。我理解这一点。问题是如何使用主干获取字符串数组?使用jQuery.ajax很容易,但我希望在如何与web服务交互方面保持一致。