1. 程式人生 > >ajax中如何實現非同步提交表單

ajax中如何實現非同步提交表單

ajax中很重要的一個功能就是實現表單的不重新整理提交,現在我們利用jquery和php實現這個功能
  首先我們寫一個表單,我們命名為ajaxform.html,表單的程式碼如下:
  <form>
使用者名稱:<input type="text" name="user"/>
</br>
郵 件:<input type="text" name="email"/>
</br>
性     別: 男<input type="radio" name = "sex" value="男"/>
女<input type="radio" name = "sex" value="女"/>
<input type="button" value="提交"/>
</form>
<div id="box">

</div>
下面加了一個id為box的div,用來放待會接受到的資料,將表單提交到user.php中去,user.php的程式碼如下:
<?php
 echo $_POST['email'].'-'.$_POST['user'].'-'.$_POST['sex'];
?>
只需要將傳遞來的資料輸出就行,
接下來我們寫jq程式碼,用來實現ajax,jq的程式碼如下:
<script type="text/javascript">
$(function(){

$('form input[type=button]').click(function(){
$.ajax({
type:"POST",
url:'user.php',
data:$('form').serialize(),
success:function(response,status,xhr){
$("#box").html(response);
}
});
});
});
</script>
其中傳遞的資料是表單提交的資料,我們利用jq中的serialize()函式進行封裝(可以減少程式碼量,也不容易出錯),在回撥函式中將傳遞過來的資料加到div中去。

結果如下:

點選提交之後,表單中的資料被加到div中,這樣我們就實現了表單的不重新整理傳遞資料