我在ASP.NET中使用MVC运行C#,我有一个ajax调用,它应该返回一个list
个对象,但它只返回字符串"System.Collections.Generic.List`1[Namespace.CustomObject]"
显然,数据会回到javascript,并且返回List<int>
并不会改变任何重要的数据,因此对象没有错。我在ajax电话中犯了错误,我错过了,或者我是否需要使用list
以外的其他内容?
我的ajax电话:
$.ajax({
type: 'POST',
url: url,
data: arrayOfInts
contentType: 'application/json',
datatype: 'json',
success: function (data) {
if (data.length) {
doThisIfDataReturned(data);
} else {
doThisIfNoDataReturned(productIds);
}
}
});
它所谓的方法:
public List<CustomObject> MakeAList(int[] productIds)
{
//
// create objectList
//
return objectList; //debugger shows that list is correct here
}
答案 0 :(得分:0)
在C#中,您需要返回一个JSON对象而不是List。我过去做过这样的事情:
public JsonResult myFunc()
{
..... code here .....
return Json(myList);
}
编辑: 有时很高兴看到在发送之前发回的确切内容。实现此目的的一种方法是将返回对象分配给变量,然后返回变量。
public JsonResult myFunc()
{
..... code here .....
var x = Json(myList);
return x;
}
这完全相同,但稍微容易调试。