下面是ajax提交的方法,主要用到了$form.serializeArray()将表单序列化成json对象,然后用each处理一下,代码如下:
var $form = $('
');
$form.append($("#dialog-form").clone());
var jsonObj = $form.serializeArray();
var jsonStr = "{";
$.each(jsonObj, function (i, field) {if (i == 0) {jsonStr += '"' + field.name + '":"' + field.value + '" ';} else {jsonStr += ', "' + field.name + '":"' + field.value + '" ';}
});
jsonStr += " }"
$.ajax({type: 'POST',url: 'ajaxtools/handler.ashx?action=save_changed_store',data: { data: jsonStr },success: function (result) {$("#dialog-form").dialog("close");storegrid_update.reload();},error: function (error) {$.jBox.tip(result, 'error');}
}); 后台主要用到了 json.net ,注意表单的name命名必须要和对象的属性一致才能反序列化成对象,代码如下:
var json = context.Request.Form["data"]; var store = JsonConvert.DeserializeObject(json);