通过jquery post函数(web API)将对象从javascript传递给控制器​​

时间:2016-10-27 09:04:16

标签: javascript jquery asp.net asp.net-web-api

在我的应用程序中我有我的JS文件,它读取了html页面中填写的一些信息。我现在要做的是将这些信息传递给我的控制器。所以在我的剧本中我有:

function addNewEmployee() {
    var newEmployeeName = document.getElementById("newEmployeeName").value;
    var newEmployeeSurname = document.getElementById("newEmployeeSurname").value;
    var newEmployeeDateOfBirth = document.getElementById("newEmployeeDateOfBirth").value;
    var newEmployeeRole = document.getElementById("newEmployeeRole").value;
    var newEmployeeEmail = document.getElementById("newEmployeeEmail").value;

    var newEmployee = {
        name : newEmployeeName,
        surname: newEmployeeSurname,
        dateOfBirth: newEmployeeDateOfBirth,
        role: newEmployeeRole,
        email : newEmployeeEmail
    }

    $.post("api/addemployees", {'newEmployee': newEmployee},   function(result) {

    });
}

我想知道以这种方式传递对象是否正确,然后我如何在控制器端接收它:

[HttpPost]
[Route("api/addemployees")]
    public bool AddEmployee (Object newEmployee)
    {
        return true;
    }

不幸的是,通过在控制器端进行调试,我意识到这种方式不正确,因为没有任何东西到来。我怎么解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

只需传递像

这样的对象
$.post("api/addemployees", JSON.stringify(newEmployee), function(){
})