我已经经历了几个与此有关的问题,到目前为止,他们都没有解决我的问题。我将与DataGrid中选定行相关的数据发送到使用ajax的服务器上的操作。 JavaScript代码如下所示:发送数据到MVC Action通过jQuery ajax,参数为null
function addSelected() {
var grid = $("#optionsGrid").dxDataGrid("instance");
var gridData = grid.getSelectedRowsData();
$.ajax({
type: "POST",
url: "/api/Options/AddRange",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ data: gridData })
});
}
和服务器上的动作(现在):
[HttpPost("api/[controller]/[action]")]
public async Task<IActionResult> AddRange(string data)
{
return Ok();
}
我已经在浏览器中和值的GridData检查它肯定是有数据填充我想在被发送到服务器之前,并且该操作被命中,但'data'参数始终为空。我也尝试在参数上放置[FromBody]属性,但它没有改变它。无论我命名数据或者是否将其串化,参数都为空。
将数据类型更改为动态也没有帮助,它仍然为空。需要发送的数据在检查时也包含在请求主体中。
您是否检查过数据是在请求中发送的?换句话说,'gridData'是否有价值? –
我建议你使用提琴手或任何类似的工具,并看到在行动确切地是什么被发送到服务器 – xrodas
[ASP.NET核心MVC:如何获得未绑定到一个字符串的原始JSON?]( https://stackoverflow.com/questions/31952002/asp-net-core-mvc-how-to-get-raw-json-bound-to-a-string-without-a-type) – Igor