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 回答