2

我一直在使用 JTemplates 插件,我用它来创建一个通过模板绑定到 json 对象的表单。完美运行。不过,我想做的不是提交表单,而是将其重新序列化回其起源的 json 对象,并将其作为 json 字符串传递回控制器方法。将对象序列化回其原始格式的最佳方法是什么?

4

1 回答 1

1

我使用 serializeObject 和 toJson 来完成此操作。

var yourForm = $('#formId');
//Serialize form elements and make into json object
var jsonObject = $.toJSON(yourForm.serializeObject());

serializeObject (jquery)

$.fn.serializeObject = function()
{
   var o = {};
   var a = this.serializeArray();
   $.each(a, 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 o;
};

toJSON

使用 json.js 库:https ://github.com/douglascrockford/JSON-js

于 2010-02-17T01:12:21.930 回答