如何从请求asp mvc 5获取POST数据

时间:2016-07-20 18:40:20

标签: asp.net-mvc post asp.net-mvc-5

我正在使用mvc5。我使用小部件将图像上传到云端并调用事件。成功后我需要向数据库写一些信息。第一行代码中的数据。

$(document).on('cloudinarywidgetsuccess', function (e, data /*this data I need in database*/) {
    $.ajax({
        url: "/Cabinet/UploadImageCallback",
        type: "POST",
        data: data,
        success: function (data) {
            if (data.status == "success") {
                console.log(data);
            } else {
                console.log("db error");
                console.log(data);
            }
        },
        error: function (data) {
            console.log("An error has occured!!!");
            console.log(data);
        }
    });
});

我想以json格式获取控制器中的数据。如果我以这种方式发送到.php,我可以通过这种方式$_POST['KEY']访问数据。如何在MVC5中获得类似的功能?

1 个答案:

答案 0 :(得分:2)

您可以使用模型作为参数;大部分时间ASP.Net MVC的Default ModelBinder可以映射到您的模型。

$.ajax({
   url: "@Url.Action("UploadImageCallback", "Cabinet")", // If you want strongly-typed URL
   contentType: "application/json; charset=utf-8",
   method: "POST",
   data: JSON.stringify(data)
   ...
});

public class CustomerModel
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

[HttpPost]
public ActionResult UploadImageCallback(CustomerModel model)
{
    // Do something
}