<SCRIPT LANGUAGE=”javascript”> <!– function saveUserInfo() { //擷取接受返回資訊層 var msg = document.getElementById(”msg”); //擷取表單對象和使用者資訊值 var f = document.user_info; var userName = f.user_name.value; var userAge = f.user_age.value; var userSex = f.user_sex.value; //接收表單的URL地址 var url = “commit.php”; //需要POST的值,把每個變數都通過&來聯結 var postStr = “name=”+ userName +”&age=”+ userAge +”&sex=”+ userSex; //執行個體化Ajax var ajax = null; if(window.XMLHttpRequest){ ajax = new XMLHttpRequest(); } else if(window.ActiveXObject){ ajax = new ActiveXObject(”Microsoft.XMLHTTP”); } else{ return; } //通過Post方式開啟串連 ajax.open(”POST”, url, true); //定義傳輸的檔案HTTP頭資訊 ajax.setRequestHeader(”Content-Type”,”application/x-www-form-urlencoded”); //發送POST資料 ajax.send(postStr); //返回資料的處理函數 ajax.onreadystatechange = function(){ if (ajax.readyState == 4 && ajax.status == 200){ msg.innerHTML = ajax.responseText; } } } –> </SCRIPT> <form name=”user_info”> 姓名:<input type=”text” name=”user_name” /><br/> 年齡:<input type=”text” name=”user_age” /><br/> 性別:<input type=”text” name=”user_sex” /><br/> <input type=”button” value=”提交表單” onClick=”saveUserInfo()”> </form> //構建一個接受返回資訊的層: <div id=”msg”></div> |
注:
與get方法比較,post方法可傳輸大於2K的資料,在Ajax裡的應用不同之處在於:”post方法的請求地址與傳輸的資料是放在兩個對象裡—-請求地址放在open對象裡,傳輸的資料放在send對象裡;並且在傳輸資料之前定義一個傳輸檔案HTTP頭資訊(setRequestHeader)”
在commit.php檔案裡可以用變數$_POST[’name’] , $_POST[’age’], $_POST[’sex’]獲得send對象傳輸的資料.並對資料庫進行操作.