2

人々は ember-data からの 404 エラーをどのように処理していますか?

現時点では、rest-adapter は次の方法でエラーを処理します。

  didError: function(store, type, record, xhr) {
    if (xhr.status === 422) {
      var data = JSON.parse(xhr.responseText);
      store.recordWasInvalid(record, data['errors']);
    } else {
      store.recordWasError(record);
    }
  },

モデルを保存しようとすると、モデルが無効かどうかはわかりますが、find または findById を実行したときにレコードが見つからなかったかどうかはわかりません。

人々は 404 エラーをどのように処理していますか?

4

1 に答える 1

0

私がしたことは、サーバーに404ページがあり、実際にはJSON文字列がエラーに言及しているだけです。そしてそれらを Ember で処理します。より良い方法があるかもしれませんが、これは非常に簡単で、多くの時間を無駄にすることはありません.

例えば:

[{"msg":"Data Not Found"}]

アダプタのFindAllまたはFindメソッドでは、このようになっています

DS.Adapter.create({
    find: function(store, type, id) {
        var url = type.url;
        url = url.fmt(id);

        jQuery.getJSON(url, function(data) {
            // data is a Hash of key/value pairs. If your server returns a
            // root, simply do something like:
            // store.load(type, id, data.person)
            if(data.msg!=="Data Not Found")
                store.load(type, id, data);
        });
    }
});
于 2012-12-18T12:09:03.733 に答える