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
相關文章
相關標籤/搜索