ajax提交後臺自動反序列化成對象

下面是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);
相關文章
相關標籤/搜索