1

Backbone.js を使用する MVC プロジェクトの UI に取り組んでいます。コントローラーなどの作業はまだ終わっていませんが、行った UI の変更をテストしたいと考えています。次のモデルを定義しました。

app.models.Test = Backbone.Model.extend({
        urlRoot: '/users/getTestValues',
        fetch: function (data) {
            return $.ajax({
                type: 'get',
                dataType: 'jsonp',
                url: this.url(),
                **data: data**               
            });
        }
    });

ビューはこのモデルを使用して、UI にテンプレート (2 列のテーブルを含む) をレンダリングします。

{{#each data}}          
<tr>                                        
<td>{{this.T1}}</td>
<td>{{this.T2}}</td>
</tr>
{{/each}}

以下のコントローラーは、プレースホルダーとして使用されています。

[HttpGet]
        public JsonpResult  getTestValues(int? entityId, int? id)
        {
            return JsonpResult(WebResult.Success());
        }

テスト用に「データ」値をハードコーディングするにはどうすればよいですか? これをモデルに追加しようとしましたが、うまくいきません:

dataFilter: function (response) {                    
                    return { data: [{ "T1": "test1", "T2": "test2"
                    }]
                    };
                }
4

1 に答える 1

1

コントローラーで値をハードコードするか、Mockjaxのようなライブラリを使用してAJAX リクエストをインターセプトし、データを返すことができます。

[HttpPost]
public JsonResult getTestValues(int? entityId, int? id)
{
    return Json(new { "T1": "test1", "T2": "test2" });
}
于 2012-06-18T20:27:31.113 に答える