AJAX Post 在控制器中返回 NULL (ASP.NET MVC)

问题描述 投票:0回答:1

我有一个 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,因此我认为我设置控制器的方式有问题。我尝试过设置一个课程并接收该课程,但这仍然行不通。

谢谢, 迪伦

javascript c# asp.net ajax model-view-controller
1个回答
0
投票

使用以下其中一项

#1 - 指定 FromBody

public ActionResult CreateUser([FromBody]string name, [FromBody]string [FromBody]email, string password)

#2 - 在控制器上使用

[ApiController]
属性

#3 - 为您的有效负载创建模型

© www.soinside.com 2019 - 2024. All rights reserved.