javascript - Backbone js 并使用 fetch() 用数据填充模型

标签 javascript jquery ajax backbone.js

我在 Backbone js 中工作,我正在尝试使用 fetch 使用数据填充模型。问题是提取似乎有效,但我的模型没有填充数据。

代码片段:

Backbone.emulateHTTP = true;
    Backbone.emulateJSON = true;

    ComponentsModel = Backbone.Model.extend({

        initialize : function() {

        },
        defaults : {
            component_id : null
        },
        urlRoot : "/components/ajax_component",

    });

    ComponentsView = Backbone.View.extend({
        el : $('body'),

        events : {
            'change #component-selector' : 'changeComponent',
        },

        initialize : function() {
            _.bindAll(this, 'render', 'changeComponent');
            this.render();
        },

        changeComponent : function(e) {
            var clickedEl = $(e.currentTarget);
            var value = clickedEl.attr("value");
            var component = new ComponentsModel({id :value, component_id :value });
            component.fetch();
            component.toJSON();
            alert(component.get('component_name'));

        },

        render : function() {

        },
    });

从服务器返回的 JSON 如下所示:

{"component_id":"1","component_name":"Test Component 1","component_description":"A simple test component","component_required":"","user_id":"1","component_approved":"0","component_price":"0","component_overview":"'"}

警报始终未定义。我错过了什么吗?

最佳答案

Fetch 是异步的,这就是为什么它有 successerror 回调。因此,不确定在您尝试获取该属性时是否已获取数据。 试试这个:

component.fetch({
   success: function(){
       // Now you got your data
   }});

关于javascript - Backbone js 并使用 fetch() 用数据填充模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10768595/

相关文章:

php - 使用 PhoneGap 将照片从 iPhone 上传到 PHP

javascript - 从 ContactsApp Service 获取联系人以使用 GAS 自动完成

javascript - 带有 hammer.js 的整页轮播

asp.net - 无需验证码即可防范 DoS 攻击

javascript - 如何在ContentTool插件中插入图像

javascript - 2 个字符串替换 javascript

javascript - 设置 90 天 javascript 的时间

javascript - 用ajax加载后在DOM中找不到元素(想绑定(bind)jquery插件)

jQuery 提交表单而不重新加载页面

javascript - 从 JQuery 中的多个表单中选择表单