失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java ajax提交form表单提交_form表单AJAX提交(四种方法)

java ajax提交form表单提交_form表单AJAX提交(四种方法)

时间:2023-05-10 04:29:14

相关推荐

java ajax提交form表单提交_form表单AJAX提交(四种方法)

一、AJAX的 form表单提交

1、第一种: 序列化提交$(’#form’).serialize()

前台:

$.ajax({

url: "",

type: "post",

dataType: "json",

data: {

data : $('#form').serialize()

},

success: function (result) {

}

})

后台:

可以用实体类接收(实体类参数必须大小写严格一致)。也可以把所有前台name传值,挨个写在参数里面。

传递的参数形式为:name=1&pwd=2&email=3&phone=4

@ResponseBody

@RequestMapping("/form")

public Msg form(User user){

userDao.insert(user); // 添加一条信息

}

2、第二种: 以对象形式传到后台$(’#form’).serializeObject()

前提,还要自己编写一个方法,用于序列化表单传输:

//定义serializeObject方法,序列化表单

$.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;

}

前台:

JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串

var form = $('#form').serializeObject();

$.ajax({

url: "",

type: "post",

dataType: "json",

data: {

data : JSON.stringify(form)

},

success: function (result) {

}

})

后台:

这是一篇讲解ObjectMapper使用,jackson-databind,用于字符串和json、对象、集合互相转换使用的。

@ResponseBody

@RequestMapping("/data")

public Msg form(String data){

ObjectMapper jackson = new ObjectMapper(); // 实例化ObjectMapper

User user = jackson.readValue(formVal, User.class); // 将字符串转换成对象

userDao.insert(user); // 添加一条信息

}

3、第三种:JSON.stringify($("#form").serializeJSON()

– -- 引入 jquery.serializejson.min.js

前台:

$.ajax({

url: "",

type: "post",

dataType: "json",

data: {

data : JSON.stringify($("#form").serializeJSON()

},

success: function (result) {

}

})

后台:

@ResponseBody

@RequestMapping("/data")

public Msg form(String data){

ObjectMapper mapper = new ObjectMapper();

@SuppressWarnings("unchecked")

Map map = mapper.readValue(data, Map.class);

userDao.insert(user); // 添加一条信息

}

4、第四种:$(’#form’).getJsonData()

– 引入 jquery.serializeExtend-1.0.1.js

前台:

$.ajax({

url: "",

type: "post",

dataType: "json",

data: {

data : $('#form').getJsonData()

},

success: function (result) {

}

})

后台:

@ResponseBody

@RequestMapping("/data")

public Msg form(String data){

ObjectMapper jackson = new ObjectMapper(); // 实例化ObjectMapper

User user = jackson.readValue(formVal, User.class); // 将字符串转换成对象

userDao.insert(user); // 添加一条信息

}

如果觉得《java ajax提交form表单提交_form表单AJAX提交(四种方法)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。