serializearray()方法(arraylist=new arraylist(20))
大家好,今天小编来为大家解答serializearray()方法这个问题,arraylist=new arraylist(20)很多人还不知道,现在让我们一起来看看吧!
servlet怎么解析jquery通过serialize提交的表单
下面是服务器端的jsp代码:
与JQuery中其他方法一样,serialize()方法也是作用于一个JQuery对象,它能够将DOM元素内容序列化为字符串,用于ajax请求。通过使用serialize()方法,可以提交本页面的所有域,代码如下:
当单击“提交”按钮后,所有属于form1的表单元素都能提交到后台,即使在表单中再增加字段,脚本仍然能够使用,并且不需要做其他多余工作。
用字符串方式时,需要注意对字符编码(中文问题),如果不希望编码带来麻烦,可以使用serialize()方法,它会自动编码。
因为serialize()方法作用于JQuery对象,所以不光只有表单能使用它,其他选择器选取的元素也都能使用它,如以下JQuery代码:
$(":checkbox,:radio").serialize()
把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化。
在JQuery中还有一个与serialize()类似的方法--serializeArray(),该方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据。JQuery代码如下:
var fields=$(":checkbox,:radio").serializeArray()
console.log(fields);//用FireBug输出
$.param()方法是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。
比如将一个普通的对象序列化:
var obj={a:1,b:2,c:3}
var k=$.param(obj)
alert(k);//输出a=1&b=2&c=3
如何结合Jquery 的validate 和 ajax submit进行工作
在jquery中使用ajax方式进行异步调用有3种方式:$.post、$.get、$.ajax.
其中$.post、$.get是封装的$.ajax方法。处理一些较为简单的ajax请求,参数少的情况。
如果遇到复杂数据传输,或者对传输配置参数需要定义,就需要$.ajax了。
一、$.ajax的一般格式
$.ajax({
type:'POST',
url: url,
data: data,
success: success,
dataType: dataType
});
二、$.ajax的参数描述
参数描述
url必需。规定把请求发送到哪个 URL。
data可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR)可选。请求成功时执行的回调函数。
dataType可选。规定预期的服务器响应的数据类型。
默认执行智能判断(xml、json、script或 html)。
三、$.ajax需要注意的一些地方:
1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;
通过dataType指定,不指定智能判断。
2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,
需要使用jquery.form.js的$.ajaxSubmit
四、代码实例。
1.$.ajax带json数据的异步请求
1<SPAN style="FONT-FAMILY:微软雅黑,'Microsoft YaHei'; FONT-SIZE: 14px"> var inputMac=$("#inputMac").val();<BR> var selectType=$("#selectType").val();<BR> var selectStatus=$("#selectStatus").val();<BR>$.ajax({<BR> type:"post",<BR> dataType:'json',<BR> url: AjaxUrl,<BR> data:{<BR> mac: inputMac,<BR> status: selectStatus,<BR> type: selectType<BR>},<BR> success: function(data, textStatus){<BR> if(data!= null){<BR><BR> var ap= eval(data);<BR> if(ap!= null&& ap!="undefined"&& ap.Id>0){<BR>//window.location.href='index.aspx';<BR> alert("添加成功。"); return;<BR>}<BR> else{<BR> alert("添加失败,请检查输入是否正确。"); return;<BR>}<BR>}<BR>},<BR> complete: function(XMLHttpRequest, textStatus){<BR><BR>},<BR> error: function(e){<BR> alert("添加失败,请检查输入是否正确。"); return;<BR>}<BR>});<BR></SPAN>
2.$.ajax序列化表格内容为字符串的异步请求
使用方法是: var formParam=$("#form1").serialize();//序列化表格内容为字符串。
将formParam作为data传递给服务器。
serialize()与 serializeArray()
serialize():序列表表格内容为字符串。
serializeArray():序列化表格元素(类似'.serialize()'方法)返回 JSON数据结构数据。
1<SPAN style="FONT-FAMILY:微软雅黑,'Microsoft YaHei'; FONT-SIZE: 14px"> var formParam=$("#form1").serialize();//序列化表格内容为字符串<BR>$.ajax({<BR> type:'post',<BR> url:'Notice_noTipsNotice',<BR> data:formParam,<BR> cache:false,<BR> dataType:'json',<BR> success:function(data){<BR>}<BR>});<BR></SPAN>
3.$.ajax拼接url的异步请求
1<SPAN style="FONT-FAMILY:微软雅黑,'Microsoft YaHei'; FONT-SIZE: 14px">var yz=$.ajax({<BR> type:'post',<BR> url:'validatePwd2_checkPwd2?password2='+password2,<BR> data:{},<BR> cache:false,<BR> dataType:'json',<BR> success:function(data){<BR> if( data.msg=="false")//服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间<BR>{<BR> textPassword2.html("<font color='red'>业务密码不正确!</font>");<BR>$("#validatePassword2").val("pwd2Error");<BR> checkPassword2= false;<BR> return;<BR>}<BR>},<BR> error:function(){}<BR>});<BR></SPAN>
4.$.ajax拼接data的异步请求
1<SPAN style="FONT-FAMILY:微软雅黑,'Microsoft YaHei'; FONT-SIZE: 14px">$.ajax({<BR> url:'<%=request.getContextPath()%>/kc/kc_checkMerNameUnique.action',<BR> type:'post',<BR> data:'merName='+values,<BR> async: false,//默认为true异步<BR> error:function(){<BR> alert('error');<BR>},<BR> success:function(data){<BR>$("#"+divs).html(data);<BR>}<BR>});<BR></SPAN>
关于serializearray()方法到此分享完毕,希望能帮助到您。