花了很長時間終於弄懂了ajax的一些簡單原理,能夠簡單的使用了,書上的太繁雜,網上查了一才明白過來,現在整理一下,以後萬一用得着。
原理就不多說了,網上和書上一大堆。直接上代碼吧
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ajax第一個應用</title>
</head>
<body>
//創建一下提交的表單
<form id="frm">
請輸入物品i d:<input type="text" id="id" /><br /><br />
請輸入物品名稱:<input type="text" id="goods" /><br /><br />
請輸入物品類別:<input type="text" id="sort" /><br /><br />
請輸入物品單價:<input type="text" id="price" /><br /><br />
請輸入物品數量:<input type="text" id="amount" /><br /><br />
</form>
<button value="提交" οnclick="init()">提交</button>
</body>
<script>
function init(){
var id=document.getElementById("id").value;
var goods=document.getElementById("goods").value;
var sort=document.getElementById("sort").value;
var price=document.getElementById("id").value;
var amount=document.getElementById("amount").value;
var ajax =new XMLHttpRequest();
var prt= "id="+id+"&goods="+goods+"&sort="+sort+"&price="+price+"&amount="+amount;
ajax.open("POST","ajax.php",true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send(prt);
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
var read=ajax.responseText;
alert(read);
}
}
}
</script>
</html>
解釋一下,表單部分就不多說了,懂點html的都能看懂吧,主要是script部分,先根據id獲取到表單的各個值,
然後創建xmlhttprequest對象,注意,這裏我只是簡單的創建了適合我瀏覽器的對象,不同的或許有差異,(我的是谷歌瀏覽器),
創建完成之後我們就可以打開連接的了,用ajax.open()方法就可以建立連接,以post方式傳輸數據,目標是ajax.php(代碼在下面),注意,後一個一定是true。
ajax.setRequestHeader方法用於設置傳輸的頭部信息。
ajax.send()方法用來傳送數據出去的,到這裏,數據就已經發送出去了,剩下的就只有接收數據了。
怎麼接收呢,看下去
用ajax.onreadystatechange方法,後面跟着的是回調函數,也就是用來接收服務器送來的數據和作出反應的函數,我這裏是一個僞函數。
ajax.readyState用來判斷ajax的執行狀態,有5種狀態,01234,如果等於4的話就是一切正常,服務器作出反映了。
最後服務器吧數據存儲到ajax.responsrText屬性裏。直接引用就好了。
接下來上ajax.php的代碼
<?php
header("Content-Type","application/x-www-form-urlencoded");
$id=$_POST['id'];
$goods=$_POST['goods'];
$sort=$_POST['sort'];
$price=$_POST['price'];
$amount=$_POST['amount'];
echo $id;
echo $goods;
?>
代碼很簡單,以什麼方法發送的就以什麼方式接收就好,返回數據的時候用echo輸出語句就好了。
到這裏就結束了,順便帶上這兩今天的心情,愛上一個女孩,經常一起聊天很久,很愛她,她也承認喜歡我,但是現實卻讓我們很尷尬,因爲她是我的初中同學,身邊好多熟悉的朋友,這不是重點,我前女友是她閨蜜,我們擔心如果我們在一起了別人會怎麼說她,,,她一定會和閨蜜尷尬的,因爲這她很苦惱,我覺得自己很蠢,沒有能幫她解決問題,但是看到她因爲這些煩惱的時候我好心疼。我很愛她。