我似乎无法解决这个问题......我试图传递给 MVC 控制器的 Json 一直像这样出现
"\"{MaterialQuantity: { MaterialID :18, Quantity:1}}\""
这是生成它的代码:
function CreateJsonForQuantities() {
var inputs = $('input[name=MaterialQuantity]');
var total = inputs.length;
var data = "";
inputs.each(function (index) {
data = data + $(this).val();
if (index != total -1)
data = data + ',';
});
return data;
}
这是它从中读取数据的隐藏(当然这也是自动生成的)
<input name="MaterialQuantity" type="hidden" value="{MaterialQuantity: { MaterialID :12, Quantity:5}}" />
我究竟做错了什么?
更新
好的,现在我正确地获取了 json 对象,我的 ajax 请求看起来像这样。现在的问题是它确实传递了正确的对象,但控制器操作中的所有值都是空的:(
var form_data = CreateJsonForNorm();
var quantity_data = CreateJsonForQuantities();
var data = { norm: form_data, mqvm: quantity_data };
$.ajax({
type: "POST",
url: form.attr("action"),
data: data,
success: function () {
location.href = "@Url.Action("Index")";
('#addDialog').dialog("close");
},
error: function () {
alert("Error");
}
});