ajax提交form表单数据serialize转为JSON

在用ajax提交表单数据时,我们常需要将form表单数据转为JSON格式,这样后端控制器可以方便的将JSON字符串转为Bean形式。

在此提供一小段代码1,让你快速的将form表单数据转为JSON格式。

function getFormData($form) {
    var unindexed_array = $form.serializeArray();
    var indexed_array = {};

    $.map(unindexed_array, function (n, i) {
      indexed_array[n['name']] = n['value'];
    });

    return indexed_array;
}

当你需要将form表单传递给Controller之后,则可以:

function submitForm() {
    $.ajax({
      type: 'post',
      url: '',
      contentType: 'application/json',
      dataType: 'json',
      data: JSON.stringify(getFormData($form)),
      success: function (result) {
        //正确处理
      },
      error: function () {
        //错误处理
      }
    });
  }

后端的Controller可以采用@RequestBody来接收JSON字符串,并自动转为对应的Bean。

参考资料


  1. https://stackoverflow.com/questions/11338774/serialize-form-data-to-json ↩

你可能感兴趣的:(#,jQuery)