0

我是 Ember/Ember-Data 的新手,偶然发现了一个我无法弄清楚的问题。我能够使用 Ember-Data 的 RESTAdapter 成功调用 PUT 和 POST 请求,但由于某种原因它停止工作。

问题是调用被正确调用,但没有在请求正文中发送任何 json 数据。

我逐步浏览了 Ember/Ember-Data/JQuery 代码,直到找到数据被删除的位置。

为清楚起见,我使用以下版本的框架:

  • 余烬:1.0.0
  • 灰烬数据:1.0.0 beta 3
  • jQuery:1.10.2

数据被删除的地方是 Ember-Data,在 RESTAdapter 的实现中。具体实现ajax方法。

这是方法:

ajax: function (url, type, hash) {
            var adapter = this;

            return new Ember.RSVP.Promise(function (resolve, reject) {
                var hash = adapter.ajaxOptions(url, type, hash);

                hash.success = function (json) {
                    Ember.run(null, resolve, json);
                };

                hash.error = function (jqXHR, textStatus, errorThrown) {
                    Ember.run(null, reject, adapter.ajaxError(jqXHR));
                };

                Ember.$.ajax(hash);
            });
        },

hash值是存储 POST/PUT 的 BODY 数据的位置,以及当它到达这一行时

var adapter = this;

hash参数包含 JSON 数据。

但是,当Ember.RSVP.Promise' 函数被触发时,hashis undefined。和仍然填充了它们的原始数据urltype

我从未使用过 Promises,并且不确定如何/为什么会删除数据。

由于这是以前的工作,我本可以做一些破坏它的工作方式的事情。

如果有人知道为什么会发生这种情况以及我能做些什么来解决它,将不胜感激。

4

1 回答 1

0

更新这应该现在修复。

我们只是在等待修复被合并

于 2013-10-02T22:13:48.117 回答