> 我.net core 2.2这是对象Object:
[Serializable]
public class oob
{
public int i { get; set; }
public string j { get; set; }
}
这是名为Gett的“家庭”控制器中的操作,该操作将oob作为ajax的输入
[HttpGet]
public IActionResult Gett(oob ww)
{
return Ok(ww);
}
Ajax
{
$.ajax({
type: "Get",
url: "Home/gett",
data: { ww: JSON.stringify({i:55,j:"weqe"})},
dataType: "json",
contentType:"json",
success: function (f) {
console.log(f);
},
error: function (f) {
console.log(f);
}
});
});
发出请求时,在Gett(oob ww)处,我得到一个值为i = 0且j = null的对象
答案 0 :(得分:1)
理想情况下,您不应将对象传递给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
使用FromQuery
来传递对象,则不需要API