jQuery中的Ajax----04

1、serialize()方法php

作项目的过程当中,表单是必不可少的,常常用来提供数据,例如注册、登陆等。常规的方法是使表单提交到另外一个页面,整个浏览器都会被刷新,而使用ajax技术则可以异步地提交表单,并将服务器返回的数据显示在当前页面中。
html

表单的HTML代码以下:
jquery

<form id="form1" action="#">
  <p>评论:</p>
  <p>姓名:<input type='text' name="username" id="username" /></p>
  <p>内容:<textarea name="content" id="content" rows="2" cols="20"></textarea></p>
  <p><input type="button" id="send" value="提交" /></p>
</form>

为了获取姓名和内容,必须将字段的值逐个添加到data参数中:ajax

$("#send").click(function(){
  $.get("get.php",{
  username:$("#username").val(),
  content:$("#content").val()
  }),function(data,textStatus){
  $("#id").thml(data);      //将返回的数据添加到页面上
  });
})

这种方式在只有少许字段的表单中,勉强还可使用,但若是表单元素愈来愈复杂,使用这种方式在增大工做量的同时页使表单缺少弹性。jquery为这一经常使用的操做提供了一个简化的方法——serialize()。与jquery中其余方法同样,serialize()方法也是做用域一个jquery对象,它可以将DON元素内容序列化为字符串,用于ajax请求。经过使用serialize()方法,能够把刚才的jquery代码改成以下:浏览器

$("#send").click(function(){
  $.get("get.php",$("#form1").serialize(),function(data,textStatus){
    $("#id").html(data);
  })
})

即便在表单中再增长字段,脚本仍然可以使用,而且不须要作其余多余工做。由于serialize()方法做用于jquery对象,因此不光只有表单可以使用它,其余选择器选取的元素也可以使用它:服务器

$(":checkbox,:radio").serialize();异步

把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化。函数

2、serializeArray()方法code

该方法不是返回字符串,而是将DOM序列化后,返回JSON格式的数据。既然是一个对象,那么就可使用$.each()函数对数据进行迭代输出。orm

3、$.param()方法

它是serialize()方法的核心,用来对一个数据或对象按照key/value进行序列化。如:

var obj={a:1,b:2,c:3}
var k=$.param(obj);
alert(k);//输出a=1&b=2&c=3
相关文章
相关标签/搜索