ajax 中的表单数据问题

如果表单数据中有个字段的数据是json格式的数据怎么传?

阅读 3.8k
4 个回答

可以用过JQuery直接将表单转成Json字符串,如下:

$.fn.serializeForm = function(){
    var o = {};
    var array = this.serializeArray();
    $.each(array, function(){
        if(o[this.name]){
            if(!o[this.name].push){
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        }else{
            o[this.name] = this.value || '';
        }
    });

    return JSON.stringify(o);
};

调用起来就非常方便,一个简单的JQuery用Ajax传数据的例子:

var jsonData = $("#form").serializeForm();
$.post(url, jsonData, callback);

JSON.stringify 转成json格式字符串传递到后台
后台再转成JSON格式的对象

<form>
<input type='hidden' name='ele' value='{}' /></form>

前端:
json 对象序列化后,给ele赋值,就可以通过form传值啦。

后端:
反序列化 json 字符串为 json 对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题