[英]Sending data with post ajax to asp.net MVC controller
I am tried sent a data from view with ajax (POST) to controller in JSON format.我尝试将数据从带有 ajax (POST) 的视图以 JSON 格式发送到控制器。 From console.log, data is correct but data in controller missing...
从 console.log,数据是正确的,但控制器中的数据丢失......
Here is controller:这是控制器:
[HttpPost]
public ActionResult SavePermission(TestData testData)
{
return Json("DONE");
}
Here is model:这是模型:
namespace INTRANETv4.Models
{
public class TestData
{
public string id { get; set; }
public bool read { get; set; }
public bool write { get; set; }
public bool delete { get; set; }
}
}
Here is javascript function from View:这是视图中的 javascript 函数:
function Save() {
var rows = document.getElementById("userTable").getElementsByTagName("tr");
var output = [];
for (i = 1; i < rows.length; i++) {
output.push({
id: rows[i].id,
read: rows[i].getElementsByTagName("td")[2].getElementsByTagName("input")[0].checked,
write: rows[i].getElementsByTagName("td")[3].getElementsByTagName("input")[0].checked,
delete: rows[i].getElementsByTagName("td")[4].getElementsByTagName("input")[0].checked
});
}
var myJSON = JSON.stringify(output);
console.log(myJSON);
$.ajax({
type: "POST",
contentType: "application/json",
data: myJSON,
url: "/Files/SavePermission",
dataType: "json"
});
}
Here is console.log of myJSON:这是 myJSON 的 console.log:
And here is content of testData from controller while debugging:这是调试时来自控制器的 testData 的内容:
When i used string testData, because i worried about to convert, string was null.当我使用字符串 testData 时,因为我担心转换,字符串为空。 Thank you for any advice.
谢谢你的任何建议。
try you model change to List<TestData> testData
尝试将模型更改为
List<TestData> testData
and data change to JSON.stringify({ testData: output }),并将数据更改为 JSON.stringify({ testData: output }),
$.ajax({
type: "POST",
contentType: "application/json",
data: JSON.stringify({ testData: output }),
url: "/Files/SavePermission",
dataType: "json"
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.