C# 从视图到控制器的ajax对象不包含数据
> I.net core 2.2这是一个对象: 这是名为Gett的“Home”控制器中的操作,它将oob作为来自ajax的输入C# 从视图到控制器的ajax对象不包含数据,c#,jquery,.net,ajax,asp.net-core-mvc,C#,Jquery,.net,Ajax,Asp.net Core Mvc,> I.net core 2.2这是一个对象: 这是名为Gett的“Home”控制器中的操作,它将oob作为来自ajax的输入 [HttpGet] public IActionResult Gett(oob ww) { return Ok(ww); } 阿贾克斯 当发出请求时,在Gett(oob ww)处,我得到一个值为i=0和j=null的对象,理想情况下,您不应该将对象传递给get请求,对于发布对象,您应该使用POST 如果仍然需要,则需要使用FromQuery更改GET方法,如
[HttpGet]
public IActionResult Gett(oob ww)
{
return Ok(ww);
}
阿贾克斯
当发出请求时,在Gett(oob ww)处,我得到一个值为i=0和j=null的对象,理想情况下,您不应该将对象传递给
get
请求,对于发布对象,您应该使用POST
如果仍然需要,则需要使用FromQuery
更改GET方法,如下所示
[HttpGet]
public IActionResult Gett([FromQuery] oob ww)
{
return Ok(ww);
}
并更改您的AJAX
调用,如下所示
$.ajax({
type: "Get",
url: "Home/gett",
data: {i:55,j:"weqe"},
dataType: "json",
contentType:"json",
success: function (f) {
console.log(f);
},
error: function (f) {
console.log(f);
}
});
注意:要传递对象,您不需要
JSON。stringify
如果您对API
使用FromQuery
,您的意思是:返回Ok(ww)而不是Ok(i)。对吗?抱歉是@Abdullah DibasTry ContentType'application/json'你能把数据:{ww:json.stringify({i:55,j:“weqe”})改成数据:json.stringify({i:55,j:“weqe”}).net核心2.2 MVC控制器只需更改数据:{i:55,j:“weqe”},我在本地测试了它的工作和使用[FromQuery]
[HttpGet]
public IActionResult Gett([FromQuery] oob ww)
{
return Ok(ww);
}
$.ajax({
type: "Get",
url: "Home/gett",
data: {i:55,j:"weqe"},
dataType: "json",
contentType:"json",
success: function (f) {
console.log(f);
},
error: function (f) {
console.log(f);
}
});