下面是ajax提交的方法,主要用到了$form.serializeArray()將表單序列化成json對象,而後用each處理一下,代碼以下:ajax
var $form = $('<form></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命名必需要和對象的屬性一致才能反序列化成對象,代碼以下:json
var json = context.Request.Form["data"]; var store = JsonConvert.DeserializeObject<User>(json);