Ajax中的serialize()、serializeArray()获取form表单中的全部输入数据

前言:在提交一个表单时,使用Ajax向后台发送请求,需要dict类型的数据data;我们如何获取模态对话框里面的数据?

方式:https://blog.csdn.net/ak739105231/article/details/103528026

一、其中有一种方式会使用serialize()

首先,serialize()方式获取到的模态对话框中的全部输入值,是可以不经过数据类型转换直接在ajax中使用的,可成功传入后台;

但是仅仅使用这种方式,如果想用serialize()获取到的页面的数据,通过js更新到列表的最新一行,获取其每一项值是比较困难的;

注释:

1.下面的截图中的$(“#stu_msg”)是通过form表单的id属性,找到form表单;

2.方法createRaw();是ajax回调函数,在关闭新增对话框后,在列表页新增一行数据的方法;这里没有截图

3.因为新增一行createRaw(),需要获取每个字段的值,获取的类型是json对象,或者dict类型的,才可通过“对象.属性”的方式很好获取每列的值

二、最好的方式:serializeArray()+map()

#获取模态对话框的全部输入数据
var Data0 =$("#stu_msg").serializeArray();

#定义一个dict类型变量
var newstuData={};

#使用map将.serializeArray()返回值获取其字段,加入dict变量中;
$.map(Data0,function(n,i){
            newstuData[n["name"]]=n['value'];
       });
#注意:上面的map()方法里面的参数i,看上去没有用,实则必要;

发布了232 篇原创文章 · 获赞 141 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/ak739105231/article/details/103532320