Juqery中serialize方法
首先建立一个Ajax接受页面,暂时使用GET方式获取数据,后台代码如下:
namespace WebApp
{
public partial class Index1Ajax : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(GetRequestParamByGET("UserName"));
Response.End();
}
/// <summary>
/// 获取GET方式传入的参数
/// </summary>
/// <param name="strKey">参数名</param>
/// <returns></returns>
private string GetRequestParamByGET(string strKey)
{
string strTemp = string.Empty;
if (Request.QueryString[strKey]!=null)
{
strTemp = Request.QueryString[strKey];
}
else
{
strTemp = "未传入参数:["+strKey+"]";
}
return strTemp;
}
}
}
一般情况下我们这样使用AJAX方法,代码如下
注意这句代码:
data: { UserName: $("#txtUserName").val() },
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Jquery序列化元素DEMO1</title>
<script src="Public/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnSave").click(function() {
$.ajax({
type: "GET",
url: "Index1Ajax.aspx",
data: { UserName: $("#txtUserName").val() },
beforeSend: function() {
$("#divResult").html("数据加载中请稍候.....");
},
success: function(data, textStatus) {
alert("操作成功返回数据:" + data);
$("#divResult").html(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("操作失败返回XMLHttpRequest:" + XMLHttpRequest.readyState);
alert("操作失败返回状态:" + textStatus);
alert("操作失败返回errorThrown:" + errorThrown);
},
complete: function(XMLHttpRequest, textStatus) {
alert("操作完成返回XMLHttpRequest:" + XMLHttpRequest.readyState);
alert("操作完成返回状态:" + textStatus);
}
});
});
});
</script>
</head>
<body>
<form id="form1" action="#">
<p>
Serialize方法示例:</p>
<p>
姓名:
<input id="txtUserName" type="text" name="UserName" /></p>
<p>
<input id="btnSave" type="button" value="提交" /></p>
<p>
</p>
<div id="divResult" style="color: Red;">
</div>
</form>
</body>
</html>
这种方式在只有少量表单元素的时候,还可以使用,如果表单元素过多的话,就会重复性动作太多...
所以就有了serialize()方法
着重注意:
data: $("#form1").serialize(),<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Jquery序列化元素DEMO1</title>
<script src="Public/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnSave").click(function() {
$.ajax({
type: "GET",
url: "Index1Ajax.aspx",
data: $("#form1").serialize(),
beforeSend: function() {
$("#divResult").html("数据加载中请稍候.....");
},
success: function(data, textStatus) {
alert("操作成功返回数据:" + data);
$("#divResult").html(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("操作失败返回XMLHttpRequest:" + XMLHttpRequest.readyState);
alert("操作失败返回状态:" + textStatus);
alert("操作失败返回errorThrown:" + errorThrown);
},
complete: function(XMLHttpRequest, textStatus) {
alert("操作完成返回XMLHttpRequest:" + XMLHttpRequest.readyState);
alert("操作完成返回状态:" + textStatus);
}
});
});
});
</script>
</head>
<body>
<form id="form1" action="#">
<p>
Serialize方法示例:</p>
<p>
姓名:
<input id="txtUserName" type="text" name="UserName" /></p>
<p>
<input id="btnSave" type="button" value="提交" /></p>
<p>
</p>
<div id="divResult" style="color: Red;">
</div>
</form>
</body>
</html>
serialize()方法作用于一个jquery对象,它能够将DOM元素内容序列化字符串
也可对中文字符解决编码问题造成的乱码
如$("#txtUserName").val().serialize();
附件地址:
https://files.cnblogs.com/liangwei389/Jquery%e5%ba%8f%e5%88%97%e5%8c%96%e5%85%83%e7%b4%a0.rar
如果山不向我走来,我就向山走去!

浙公网安备 33010602011771号