我有以下控制器
[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,我缺少什么?
答案 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
});
}