gpt4 book ai didi

javascript - 如何将 int 列表从 Javascript (Ajax) 发送到 C#?

转载 作者:行者123 更新时间:2023-11-28 18:56:09 25 4
gpt4 key购买 nike

通常我会写

 $.ajax({
url: '@Url.Action("PlantHistoryContent", "PlantStatus")',
data: {id: 1},
async: false,
type: "POST"
})

当我想在 C# 中将整数 id 传递到服务器端时:

public void PlantHistoryContent(int id)
{
///
}

如何对整数列表执行相同操作?

所以我有一个未知长度的对象列表并希望将其作为列表传递到服务器端?

我的服务器端应该是

public void PlantHistoryContent(List<int> id)
{
///
}

如何将ajax调用数据参数写入其中?

最佳答案

JavaScript 中的列表如下所示:

var list = [ 1, 2, 3, 4 ];

要构建它,您可以执行以下操作:

var list = [];
list.push(1);
list.push(2);
list.push(3);
list.push(4);

然后,当您发送它时,您可以执行以下操作:

$.ajax({
url: '@Url.Action("PlantHistoryContent", "PlantStatus")',
data: { ids: list },
async: false,
type: "POST"
})

$.ajax({
url: '@Url.Action("PlantHistoryContent", "PlantStatus")',
data: { ids: [ 1, 2, 3, 4 ] },
async: false,
type: "POST"
})

默认使用表单编码。请求正文将如下所示:

ids[0]=1&ids[1]=2&ids[2]=2&ids[3]=3

使用表单编码,无法知道参数的类型是什么。它们都是字符串。

如果您使用 JSON 作为传输编码,则可以发送整数,因为 JSON 知道字符串、整数和列表等。

$.ajax({
url: '@Url.Action("PlantHistoryContent", "PlantStatus")',
data: { data: JSON.stringify({ ids: [ 1, 2, 3, 4 ] }) },
async: false,
type: "POST"
})

现在您的请求正文如下所示:

data=%5B1%2C2%2C3%2C4%5D

关于javascript - 如何将 int 列表从 Javascript (Ajax) 发送到 C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611128/

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