当前位置: 移动技术网 > IT编程>开发语言>Jquery > Jquery如何序列化form表单数据为JSON对象

Jquery如何序列化form表单数据为JSON对象

2018年09月21日  | 移动技术网IT编程  | 我要评论

   jquery提供的serialize方法能够实现。

$("#searchform").serialize();
但是,观察输出的信息,发现serialize()方法做的是将表单中的数据以htpp请求格式拼接成字符串。
serialize确实是能够解决一般的提交数据。但是有时我们需要的是一个object对象,而不是字符串(比如jqgrid reload时设置查询条件参数,就需要object对象)。
方法如下:
(function(window, $) {
    $.fn.serializejson = function() {
        var serializeobj = {};
        var array = this.serializearray();
        var str = this.serialize();
        $(array).each(
                function() {
                    if (serializeobj[this.name]) {
                        if ($.isarray(serializeobj[this.name])) {
                            serializeobj[this.name].push(this.value);
                        } else {
                            serializeobj[this.name] = [
                                    serializeobj[this.name], this.value ];
                        }
                    } else {
                        serializeobj[this.name] = this.value;
                    }
                });
        return serializeobj;
    };
})(window, jquery);

调用:
console.info($("#searchform").serializejson());

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网