gpt4 book ai didi

JQuery Ajax 调用未将参数传递给 ASP.NET Core MVC 中的 `Controller Method`?

转载 作者:行者123 更新时间:2023-12-01 01:13:21 25 4
gpt4 key购买 nike

在 Ajax 调用中,我将模型参数传递给 Controller ​​方法,但没有数据传递给 Controller ​​。

 var Model =
{
email: "123",
phone:"2323"
};
$.ajax({
type: "POST",
url: `/Home/AddEmailPhone/`,
data: Model,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log(data);
console.log(data.length);
},

failure: function (data) {
console.log("failure");
},
error: function (data) {
console.log("error");
}

});

Controller 方法看起来像

 public JsonResult AddEmailPhone([FromBody]EmailPhoneModel Model)
{
Return Json("json");
}

ajax 调用成功调用方法,但没有数据传递。

我也尝试过通过url传递值像:

 `/Home/AddEmailPhone/email= ${email}&phone=${phone}`

这在我的另一个项目中有效,我在其中传递了一个 int 值,但这次没有人在工作。我做错了什么?

最佳答案

假设您的模型具有公共(public)属性并且 url 已正确映射,我看到的唯一缺失的部分是调用 stringify 来规范化您的 json。

data: JSON.stringify(Model),

我已经对此进行了测试:

public JsonResult AddEmailPhone(EmailPhoneModel Model)
{
return Json("json");
}

但我没有安装 Core。

关于JQuery Ajax 调用未将参数传递给 ASP.NET Core MVC 中的 `Controller Method`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48854752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com