我有一个 Javascript 函数,我希望它将数据传递到我的控制器。
这是我的Javascript代码:
$.ajax({
type: "POST",
url: "/Home/CreateUser",
contentType: "application/json",
dataType: "json",
data: JSON.stringify({name: 'Dylan', email: '[email protected]', password: 'password'}),
success: function (response) {
window.location.href = 'dashboard';
},
error: function (error) {
alert('Error while signing up: ' + error);
}
})
..这就是我如何设置我的控制器来接收请求:
[HttpPost]
public ActionResult CreateUser(string name, string email, string password)
{
Console.WriteLine("Data received successfully: Name - " + name + ", Email - " + email + ", Password - " + password);
return Content("Data received successfully: Name - " + name + ", Email - " + email + ", Password - " + password);
}
目前每个值都作为 null 传递,我不明白为什么这不起作用。浏览器网络选项卡中的请求似乎正在发送 Json,因此我认为我设置控制器的方式有问题。我尝试过设置一个课程并接收该课程,但这仍然行不通。
谢谢, 迪伦
使用以下其中一项
#1 - 指定 FromBody
public ActionResult CreateUser([FromBody]string name, [FromBody]string [FromBody]email, string password)
#2 - 在控制器上使用
[ApiController]
属性
#3 - 为您的有效负载创建模型