【问题标题】:Using backbone.js to get data from ASMX with the 'd'使用backbone.js从带有'd'的ASMX获取数据
【发布时间】:2012-08-07 11:28:34
【问题描述】:

我对 Backbone 很陌生,我一直在尝试使用它创建自动完成功能,由 ASMX 网络服务提供。我似乎遇到的问题是,当我的 web 服务以 JSON 格式返回时(在与它进行了一场痛苦的战斗之后),它将响应包装在一个“d”(数据集)中。如何让视图理解这一点并获取正确的数据?

这是我的代码:-

var Airline = Backbone.Model.extend({
                initialize: function () {},
                defaults: {
                    name: 'Airline Name',
                    rating: 50,
                    icon: '/blank.png'
                }
            });

            var AirlineCollection = Backbone.Collection.extend({
                model: Airline,
                contentType: "application/json",
                url: '/ControlTower/public/runway.asmx/all-airlines',
                parse: function (response) {
                    return response;
                }
            });

            var SelectionView = Backbone.View.extend({
              el : $('#airline'),
              render: function() {
                $(this.el).html("You Selected : " + this.model.get('AirlineName'));
                return this;
              },
            });

var airlines = new AirlineCollection();
            airlines.fetch({async: false, contentType: "application/json" });
            var airlineNames = airlines.pluck("AirlineName");

$("#airline").autocomplete({
              source : airlineNames,
              minLength : 1,
              select: function(event, ui){
                var selectedModel = airlines.where({name: ui.item.value})[0];
                var view = new SelectionView({model: selectedModel});
                view.render();
              }
            });

谁能看到我做错了什么?我已经在这里坐了太久了!

感谢您的帮助 ;)

【问题讨论】:

标签: javascript jquery web-services backbone.js asmx


【解决方案1】:

你的AirlineCollection

parse: function (response) {
  return response.d;
}

【讨论】:

    【解决方案2】:

    这对我有用

    AirlineCollection

    parse: function (response) {
        var data = (typeof response.d) == 'string' ? eval('(' + response.d + ')') :    response.d;
        return data;        
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 2011-10-03
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      相关资源
      最近更新 更多