我有一个ajax帖子,我在其中发送JSON字符串数据,但我的控制器中出现了null。
AJAX致电:
var jsonData = JSON.stringify(matrixPresenter);
$.post("/matrix/Savematrix?matrixData=" + jsonData , function (result) {
});
当我将调试器保存在jsonData上时,这是我得到的:
"{"tagList":[{"tagId":"16","name":"White","isEnable":"true"},{"tagId":"19","name":"Night","isEnable":"true"}],"captureCategoryTypeId":" 5051"}"
但是当我在我的控制器中保持调试器时,我将matrixData视为null 我的控制器方法:
[HttpPost]
public ActionResult Savematrix(string matrixData)
{
if (matrixData != null)
{
//do something
return null;
}
else
{
//do something
return null;
}
}
看起来我在这里失踪了。
答案 0 :(得分:0)
我认为您为matrixPresenter
构建JSON对象的方式可能存在问题。您能否尝试使用以下代码替换您的观点:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("#btnOK").click(function () {
var matrixPresenter =
{
tagList:
[
{ "tagId": "16", "name": "White", "isEnable": "true" },
{ "tagId": "19", "name": "Night", "isEnable": "true" }
],
captureCategoryTypeId: 5051
};
var jsonData = JSON.stringify(matrixPresenter);
$.post("/matrix/Savematrix?matrixData=" + jsonData, function (result) {
});
});
});
</script>
<input type="button" id="btnOK" value="OK" />