4 回答
TA贡献1155条经验 获得超0个赞
由于我认为已接受的答案不正确-这是替代方法(与此处其他答案类似,但不相同)。首先,您需要使用FromBody属性装饰模型:
public async Task<IActionResult> FilteredKeys([FromBody] MySearch filter)
{
var data = await _service.GetFilteredKeyTypes(filter);
return View();
}
而ajax调用应如下所示:
var array = [];
array.push("test")
array.push("test2")
array.push("test3")
$.ajax({
type: "POST",
url: "Admin/FilteredKeys",
data: JSON.stringify({ Ids: array, OnlyActive: true}),
contentType: "application/json; charset=utf-8",
success: function(data){
// ...
},
failure: function(errMsg) {
// ...
}
});
TA贡献1111条经验 获得超0个赞
这个答案是为了替代(如果有人会喜欢此解决方案):
$.post("Admin/FilteredKeys", { Ids: array, OnlyActive: true });
TA贡献1821条经验 获得超6个赞
为什么不这样:
$.post("Admin/FilteredKeys",{ Ids: JSON.stringify(array), OnlyActive: true });
TA贡献1813条经验 获得超2个赞
太确定控制器会尝试从主体中解析模型,您可以添加FromBody属性:
public async Task<IActionResult> FilteredKeys([FromBody] MySearch filter)
{
...
}
另外,您还应该在请求中添加application / json内容类型:
$.ajax({
type: "POST",
url: ...,
data: ...,
success: ...
contentType: "application/json"
});
- 4 回答
- 0 关注
- 194 浏览
添加回答
举报