mvc 4模型绑定不起作用

时间:2014-04-13 14:43:27

标签: jquery asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我有以下控制器

 [HttpPost]
public ActionResult BorrowBookFinal(string test)
{


    return View();
}

我有一些调用动作的Jquery

function borrowBook(e) {

    debugger;
    var viewModel = {};
    viewModel = { test: "test" };
    var jsonData = JSON.stringify(viewModel);

    var url = "/Borrower/BorrowBookFinal";

    $.ajax({
        type: "POST",
        url: url,
        data: jsonData,
        success: borrowBookComplete,
        dataType: "JSON"
    });


}

但是当我调试action方法时,即使我传递的值为“test”,test仍然为null,我缺少什么?

2 个答案:

答案 0 :(得分:3)

为什么要将提交的数据转换为JSON? dataType:' JSON'指的是响应的预期类型。尝试提交viewModel而不是jsonData作为ajax调用中的数据元素。

作为旁注,您的操作也不会返回JSON数据,因此您需要更改或者更改数据类型

答案 1 :(得分:0)

直接使用JSON对象而不将其转换为字符串:

function borrowBook(e) {
    debugger;
    var viewModel = {};
    viewModel = { test: "test" };
    var url = "/Borrower/BorrowBookFinal";

    $.ajax({
        type: "POST",
        url: url,
        data: viewModel,
        success: borrowBookComplete
});
}