0

ライブラリ philsturgeon/codeigniter-restserver を使用して JSON をフェッチしています。コンソールの応答セクションを確認すると、適切な JSON 値が次のように返されます。

this: [{name:test,address:test},{name:test2,address:test2}].

フロントで、これらの値をテンプレートに表示したいと思います。しかし、私がそうすると、それは戻って{"readyState":1}きます<%= JSON.stringify(ledgers) %>

次のように、ビューからテンプレートを呼び出します。

$("#container-left").html(this.template({ledgers:app.ledgers.fetch()}));

私の REST コントローラー関数は次のようになります。

public function index_get()
{

    $this->response($this->db->get('ledgers')->result());
}
4

1 に答える 1

1

fetchメソッドを正しく使用していません。fetch は呼び出されたときにデータを返さないため、テンプレートを埋めるためにコールバックを提供する必要がありますsuccess

var self = this;
app.ledgers.fetch({
    success: function(model, response, options) {
        $("#container-left").html(self.template({ledgers: model}));
    }
});

関数自体は_.each何も返さないため、戻り値を出力すると未定義になります。

関数内のデータを出力する必要があります<%= name %>

<% _.each(ledgers, function(data){  %> <%= name %> <% }) %>

JSFiddleのデモ。

于 2013-01-23T08:45:40.293 に答える