一、jQuery ajax()使用serialize()提交form数据

jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直接选择form将其序列化,如:(name 属性需要填写)

<form id="form1">
<input type="hidden" value ="${topicInfo.id}" name="id" id="id" />
<input type="hidden" value ="${topicInfo.status}" name="status" id="status" />
</form>
$(document).ready(function(){
});

可以把序列化的值传给ajax()作为url的参数,轻松使用ajax()提交form表单了,而不需要一个一个获取表单中的值然后传给ajax(),举例如下:

后台如果接收值为null,把contentType: "application/json"去掉(content-Type定义的是发送至服务器的数据类型,data-Type定义的是服务器返回的数据)

$.ajax({
type: 'post',
url: 'your url',
data: $("#form1").serialize(),
dataType:"json",
async:true,//默认异步,false-同步
success: function(data) {
// your code
}
});

$("#form1"). serialize()后台获取不到表单中属性为disabled的元素的值的解决办法

当属性设置为"disabled"时,提交表单时,select的值无法传递,提交前移除disabled属性$("#conferenceType").removeAttr("disabled"); 即可

ajax返回状态为200但进error方法的问题:

可能原因:

1、Ajax请求data:{}参数中,格式存在错误

2、服务返回的数据不是json格式

3、跨域请求

二、serializeArray()读取form表单中的所有数据列表

var siginList =  $('#siginForm').serializeArray();
var sigin = {};
var siginArray = [];
for (var i = 0; i < siginList.length; i++) {
if (siginList[i].name == "siginUserId") {
sigin = {};
sigin.siginUserId = siginList[i].value;
continue;
}
if (siginList[i].name == "attended") {
sigin.attended = siginList[i].value;
continue;
}
if (siginList[i].name == "reason") {
sigin.reason = siginList[i].value;
siginArray.push(sigin);
continue;
}
}

随机推荐

  1. table 表头固定 thead固定. 1) 使用jquery.freezeheader.js

    方法一: 使用jquery.freezeheader.js 固定表头: 1-: 初始化: <!DOCTYPE html> <html lang="en"> ...

  2. SpringSecurity入门例子及遇到的问题解决

    最近学习<Spring 实战>学习到了SpringSecurity,觉得书本上的例子过于复杂,而且不喜欢它基于java配置,更喜欢用xml文件进行配置 于是在极客学院网上学习,感觉挺不错的 ...

  3. Delphi 10.3最新消息

    因为Google Play的要求,使Delphi官方被动的透出点消息:https://community.embarcadero.com/blogs/entry/deadline-approachin ...

  4. [工作日志] 2018-11-21 主要: 改bug 自测 :校验图片后缀名

    正则表达式 用以下方式去校验图片的后缀 String reg = ".+(.JPEG|.jpeg|.JPG|.jpg)$";String imgp= "Redocn_20 ...

  5. CentOS7+Nginx配置Tomcat负载均衡环境

    1.准备两个Tomcat 配置两个Tomcat一个端口是8080另外一个端口是8081,分别在webapps下面添加一个测试用的web项目,修改index.jsp文件,8080端口的index.jsp ...

  6. 交换机的默认网关(跨网段telnet)

    实验要求:配置一台交换机,并配置默认网关,使不同网段的主机能够远程telnet连接到交换机 拓扑图如下: 交换机配置: enable 进入特权模式 configure terminal 进入全局模式 ...

  7. 【转载】 程序员制作996.icu网站抗议加班,你认为996能提高工作效率吗?

    原文地址: https://zhidao.baidu.com/question/623053193192988612.html ------------------------------------ ...

  8. Linux内核info leak漏洞

    1  Information Leak漏洞风险 从应用层软件,到hypervisor再到kernel代码,都存在Information Leak的风险.下面给出一些示例: 应用层软件:通常是应用敏感数 ...

  9. 我的第一个Python程序,定义主函数,eval、format函数详解,

    程序实例: #第一个py小程序 def main(): f = eval(input("输入一个数值:")) p=f*(5/9) print("现在的值为:{0:3.3f ...

  10. Linux /etc/password 文件详解

    root2:x:0:0::/home/root2:/bin/bash[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell] 其中: ⒈[用户名]是passwd文件里 ...