0

我似乎无法解决这个问题......我试图传递给 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");
   }
});
4

1 回答 1

0

尝试JSON.stringify(data)在您的请求中使用

于 2013-04-06T16:59:41.087 回答