我想发布一个空的javascript数组[]
到webAPI并让它创建一个空的整数列表。我也想要它,所以如果我发布javascript null
到webAPI,它将null指定给整数列表。发送空数组到webapi
JS:
var intArray = [];
$.ajax({
type: 'POST',
url: '/api/ListOfInts',
data: {'' : intArray},
dataType: 'json'
});
C#的WebAPI
[HttpPost]
public void ListOfInts([FromBody]List<int> input)
问题1)的Jquery拒绝发送数据{'' : []}
视后的有效载荷。当我在阵列中添加的东西它的工作原理,如{'' : [1,2,3]}
问题2)Passing empty js array to controller gives null基于我阅读,即使我得到它后空数组,则初始化列表为空。讨论的解决方案有这样的清单总是初始化为空,但我不想这样。我希望它在某些情况下为空(当发送null/undefined时),并且当发送[]
时,它应该初始化为空。
编辑:为什么我使用{'' : []}
您是否尝试过只发送数据:intArray? –
是的,它根本不起作用。 WebAPI不知道如何处理它 – LearningJrDev
在WebApi中,区分请求中的null和empty可能很困难。如果你正在使用这些在你的应用程序中设置某种“状态”,我会重新思考你是如何做到的。可能发送某种标志或某种东西,以便在服务器上正确初始化您的列表。 – jensendp