我似乎无法解决这个问题... Json我试图传递给MVC控制器继续像这样出现
"\"{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");
}
});
答案 0 :(得分:0)
尝试在您的请求中使用JSON.stringify(data)