gpt4 book ai didi

c# - Ajax 调用返回描述对象而不是对象的字符串

转载 作者:行者123 更新时间:2023-11-30 18:24:09 26 4
gpt4 key购买 nike

我在 ASP.NET 中使用 MVC 运行 C#,我有一个应该返回 list 的 ajax 调用的对象,但它只是返回字符串 "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
}

最佳答案

在 C# 中,您需要返回一个 JSON 对象而不是一个列表。我过去做过这样的事情:

    public JsonResult myFunc()
{
..... code here .....


return Json(myList);
}

编辑: 有时很高兴在发送之前准确地看到正在发送回的内容。实现此目的的一种方法是将返回对象分配给一个变量,然后返回该变量。

    public JsonResult myFunc()
{
..... code here .....

var x = Json(myList);
return x;
}

这做的事情完全一样,但更容易调试。

关于c# - Ajax 调用返回描述对象而不是对象的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31615209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com