我有一个使用 ASP.NET Web API 实现的服务点。它返回一个列表,一个IEnumerable
嵌入在 .dto 中的 dto HttpResponseMessage
。
但是,通过骨干集合获取实现的我的客户端代码总是以错误告终。在错误方法中,当我传递并观察参数时,我看到集合出现在ResponseText
属性下。
虽然我直接通过IEnumerable<dto>
而不用 包裹它HttpResponseMessage
,但它工作正常。
我的问题:正确的方法是什么?如何让我的骨干集合引用内部ResponseText
属性?
我尝试尝试获取单个模型,并覆盖 fetch 方法。
categories = new Categories({ url: 'http://localhost:6685/category' });
$.when(categories.fetch())
.then(
function() {
app.init({ 'categories': categories, 'cart': cart });
});
这不断给我模棱两可的错误。然后当我切换到
categories.fetch({
success: function() {... },
error: function(err) {
console.log(err);
}
});
我可以在错误的类别列表中看到。属性名称是responsetext
。
var Categories = Backbone.Collection.extend({
model: Category,
initialize: function (options) {
this.url = options.url;
},
parse:function (response) {
return response.categories;
},
服务器端
HttpResponseMessage<IEnumerable<category>> httpresponse = null;
var response= _catalogueservice.getcategories();
if (response.success)
{
httpresponse = new HttpResponseMessage<IEnumerable<category>>(response.categories, response.categories.Count()>0?HttpStatusCode.Found:HttpStatusCode.NotFound);
}
else
{
httpresponse = new HttpResponseMessage<IEnumerable<category>>( HttpStatusCode.NotFound);
}
return httpresponse;
我可以在 fiddler 下看到 JSON 正在返回。