Json字符串化双引号

时间:2013-04-06 11:45:02

标签: javascript jquery json

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

1 个答案:

答案 0 :(得分:0)

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