Lea*_*Dev 7 javascript c# asp.net jquery asp.net-web-api
我想将一个空的javascript数组POST []
到webAPI并让它创建一个空的整数列表.我也想要它,所以如果我将javascript发布null
到webAPI,它将null分配给整数列表.
JS:
var intArray = [];
$.ajax({
type: 'POST',
url: '/api/ListOfInts',
data: {'' : intArray},
dataType: 'json'
});
Run Code Online (Sandbox Code Playgroud)
c#webapi
[HttpPost]
public void ListOfInts([FromBody]List<int> input)
Run Code Online (Sandbox Code Playgroud)
问题1)Jquery拒绝发送数据{'' : []}
作为后有效负载.只要我在数组中添加一些内容就可以了{'' : [1,2,3]}
问题2)将 空的js数组传递给控制器会给出null基于我读到的内容,即使我将它发布为空数组,它也会将列表初始化为null.讨论的解决方案有它,所以列表总是初始化为空,但我不希望这样.我希望它在某些情况下为null(当发送null/undefined时),并且在[]
发送时它应该初始化为空.
编辑:请参阅https://www.asp.net/web-api/overview/advanced/sending-html-form-data-part-1,了解我使用的原因{'' : []}
tmg*_*tmg 23
使用JSON.stringify(intArray)
和contentType: 'application/json'
为我工作:
$.ajax({
url: "/api/values",
method: "POST",
contentType: 'application/json',
data: JSON.stringify([])
});
Run Code Online (Sandbox Code Playgroud)
$.ajax({
url: "/api/values",
method: "POST",
contentType: 'application/json',
data: null
});
Run Code Online (Sandbox Code Playgroud)
$.ajax({
url: "/api/values",
method: "POST",
contentType: 'application/json',
data: JSON.stringify([1, 2, 3])
});
Run Code Online (Sandbox Code Playgroud)
data: {'' : intArray},
Run Code Online (Sandbox Code Playgroud)
JSON 中不允许使用空白键名称。
只需发送数组本身。
data: intArray,
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3743 次 |
最近记录: |