我似乎無法來解決這個問題...的Json我試圖傳遞到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}}" />
什麼我做錯了嗎?
UPDATE
好了,所以現在我得到正確的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");
}
});
你在value屬性的不是JSON。請訪問http ://jsonlint.com/ – Quentin 2013-04-06 11:47:06
Ahhhh ...所以我應該用JSON.parse解析它嗎? – rexdefuror 2013-04-06 11:48:43
你不能用JSON.parse解析它,它不是JSON,你應該用JSON序列化器來創建它 – Quentin 2013-04-06 11:49:30