$("#form1"). serialize()提交表单

一、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;
        }
    }

 

转载于:https://www.cnblogs.com/lijianda/p/8867555.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值