> I .net core 2.2 这是对象 对象:
[Serializable]
public class oob
{
public int i { get; set; }
public string j { get; set; }
}
这是名为 Gett 的"Home"控制器中的操作,它将 oob 作为来自 ajax 的输入
[HttpGet]
public IActionResult Gett(oob ww)
{
return Ok(ww);
}
阿贾克斯
{
$.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 的对象
理想情况下,您不应该将对象传递给GET
请求,对于发布对象,您应该使用 POST
.
如果您仍然需要,则需要更改 GET 方法,例如使用 FromQuery
执行以下操作。
[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);
}
});
注意:要传递对象,如果您将FromQuery
用于API
,则不需要JSON.stringify