0

たとえば、私はこのモデルをユーザーとして持っています:

var Users = Spine.Model.sub();
Users.configure('Users', 'name', 'gender', 'age');
Users.extend(Spine.Model.Ajax);
Users.extend({url:"/users"});

データベースにすでにいくつかのデータが保存されていると仮定します。実行した場合

var users = Users.fetch();

AjaxはGETリクエストを/usersに送信し、すべての結果が返されます。

しかし、すべての女性または男性のユーザー、25歳以上、または上位10人のユーザーを指定された順序で取得したい場合、これらの変数を渡す方法はありますか?ドキュメントに仕様が見つかりません。fetchメソッドは、コールバック関数パラメーターを渡して、フェッチが完了したときに取り消すことができますが、明らかに私が望むものではありません。

4

1 に答える 1

1

私は自分で解決策を見つけました。実際、ドキュメントには結果をページ分割する方法が記載されています。

var Photo = Spine.Model.sub();
Photo.configure('Photo', 'index');
Photo.extend(Spine.Model.Ajax);

Photo.extend({
  fetch: function(params){
    if ( !params && Photo.last() ) 
      params = {data: {index: this.last().id}}
    this.constructor.__super__.fetch.call(this, params);
  }
});

しかし、最初にコードを実行できないことがわかりました

this.constructor.__super__.fetch.call(this, params);

する必要があります

this.__super__.constructor.fetch.call(this, params);

次に、Photo.fetch({data:{id:1}})を実行すると、次のようなGETリクエストが送信されます。

GET /photos?[object%20Object]

修正する

Photo.fetch({data: $.param({id:1})});

HTTPリクエスト

GET /photos?id=1
于 2013-03-08T11:48:04.820 に答える