【问题标题】:saving Backbone.model via XEditable通过 XEditable 保存 Backbone.model
【发布时间】:2013-09-07 04:54:23
【问题描述】:

我正在使用 Backbone 并使用 XEditable 进行内联编辑。

我在 url 部分执行以下操作,作为要传递给 XEditable 的函数 editable 调用的参数之一:

url: function(params) {
            console.log(params);
            console.log(here.model);
            var saveUrl = here.model.url;
            here.model.url += '/'+here.model.attributes._id; //setting required url for the request to be sent on the server
                var d = new $.Deferred;
                here.model.save( 
                  {field:params.value},
                  { patch: true }, 
                  { error: function() {
                    console.log("error");
                      d.reject('Server Error..!');
                    }
                  },
                  { success: function() {
                    console.log("done");
                    d.resolve();
                    }
                  }
                );
                return d.promise();
              }

但是当我将数据保存在服务器上时

我得到了错误:

POST http://10.0.1.6:3000/g/spec/5229d8fff4ae7a3803000020 404 (Not Found) on console and 

also : 在浏览器上,X 可编辑的保存状态永远不会结束.. 意味着 X 可编辑进入无限循环以打印一些消息。

我的第一个问题为什么数据不能保存在服务器上? 我已经通过POSTMAN chrome 插件正确检查了这个网址。

第二个问题是:如果由于某种原因无法将数据保存在数据库中,因为我正在使用延迟对象并在出现错误时拒绝承诺,为什么 X-editable 没有显示错误“服务器错误..!” .

【问题讨论】:

    标签: javascript backbone.js x-editable


    【解决方案1】:

    如果您想使用主干的一个 model.save,您应该将 url 留空并使用 x-editable 成功回调。例如。在视图的渲染方法中,您必须设置更新模型并触发保存(手动或通过模型的更改处理程序)

    this.$el.find("#my-field").editable({
        type        : 'text',
        name        : myFieldTitle,
        value       : myCurrentValue,
        pk          : this.model.get('id'),
        url         : '',
        success     : function(response, newValue) {
            self.model.set(field.name, newValue);
            self.model.save(field.name, newValue);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      相关资源
      最近更新 更多