JQuery中serialize()、serializeArray()和param()方法示例介紹
下面是服務(wù)器端的jsp代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
String content = request.getParameter("content");
out.println("<div class='comment'><h6> "+username+" :</h6><p class='para'> "+content+"
</p></div>");
%>
與JQuery中其他方法一樣,serialize()方法也是作用于一個JQuery對象,它能夠?qū)OM元素內(nèi)容序列化為字符串,用于ajax請求。通過使用serialize()方法,可以提交本頁面的所有域,代碼如下:
$("#send").click(function(){
$.get("get1.jsp", $("#form1").serialize(), function(data, textStatus)
$("#resText").html(data);
});
});
當(dāng)單擊“提交”按鈕后,所有屬于form1的表單元素都能提交到后臺,即使在表單中再增加字段,腳本仍然能夠使用,并且不需要做其他多余工作。
用字符串方式時,需要注意對字符編碼(中文問題),如果不希望編碼帶來麻煩,可以使用serialize()方法,它會自動編碼。
因為serialize()方法作用于JQuery對象,所以不光只有表單能使用它,其他選擇器選取的元素也都能使用它,如以下JQuery代碼:
$(":checkbox,:radio").serialize();
把復(fù)選框和單選框的值序列化為字符串形式,只會將選中的值序列化。
在JQuery中還有一個與serialize()類似的方法--serializeArray(),該方法不是返回字符串,而是將DOM元素序列化后,返回JSON格式的數(shù)據(jù)。JQuery代碼如下:
var fields = $(":checkbox,:radio").serializeArray();
console.log(fields); //用FireBug輸出
$.param()方法是serialize()方法的核心,用來對一個數(shù)組或?qū)ο蟀凑誯ey/value進(jìn)行序列化。
比如將一個普通的對象序列化:
var obj = {a:1,b:2,c:3};
var k = $.param(obj);
alert(k); //輸出a=1&b=2&c=3
相關(guān)文章
jQuery EasyUI datagrid實現(xiàn)本地分頁的方法
這篇文章主要介紹了jQuery EasyUI datagrid實現(xiàn)本地分頁的方法,以實例形式較為詳細(xì)的分析了本地分頁的原理與相關(guān)的實現(xiàn)技巧,需要的朋友可以參考下2015-02-02
Jquery的hover方法讓鼠標(biāo)經(jīng)過li時背景變色
鼠標(biāo)經(jīng)過時讓li背景變色,在某些時候還是挺實用的,下面為大家介紹下使用Jquery的hover方法來實現(xiàn)下,感興趣的朋友可以參考下2013-09-09
jQuery插件HighCharts實現(xiàn)的2D對數(shù)餅圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts實現(xiàn)的2D對數(shù)餅圖效果,結(jié)合實例形式分析了jQuery圖形插件HighCharts繪制2D對數(shù)餅圖的具體實現(xiàn)步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
jQuery.event兼容各瀏覽器的event詳細(xì)解析
jQuery在遵循W3C規(guī)范的情況下,對事件的常用屬性進(jìn)行了封裝,使得事件處理在各大瀏覽器下都可以正常的運行而不需要進(jìn)行瀏覽器類型判斷2013-12-12

