gpt4 book ai didi

c# - 从 Javascript 将 KeyValuePair 或 IDictionary 列表传递给 Web Api Controller

转载 作者:可可西里 更新时间:2023-11-01 01:50:01 25 4
gpt4 key购买 nike

我有一个 Web API Controller ,我想向其发布两个参数。一个是 flat int ID,另一个是 IDictionary 或类似的等价物。

[HttpPost]
public void DoStuff(int id, [FromBody]IDictionary<int, int> things)
{
}

var things = new Array();
things.push({ 1: 10 }); // tried things.push({ Key: 1, Value: 10 })
things.push({ 2: 11 });
$.ajax({
url: '/api/DoStuff?id=' + id,
data: '=' + JSON.stringify(things), // tried what seems like 100 different things here
type: 'POST',
dataType: 'json'
});

无论我在数据参数(data: thingsdata: '=' + things)中尝试什么,字典都不会通过 api Controller .它要么为空,要么有一个虚假条目 ({0, 0})。

我也试过在 Uri 中发送字典 - 不行。

如何将字典或键值对发送到 API Controller ?

最佳答案

你不需要数组——你需要一个简单的 JS 对象(映射到字典)。此代码应该有效:

var things = {};
things['1'] = 10;
things['2'] = 11;
$.ajax({
url: '/api/DoStuff?id=' + id,
data: JSON.stringify(things),
contentType: 'application/json'
type: 'POST',
dataType: 'json'
});

关于c# - 从 Javascript 将 KeyValuePair 或 IDictionary 列表传递给 Web Api Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16553561/

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