Ajax应用查询员工信息
生活随笔
收集整理的這篇文章主要介紹了
Ajax应用查询员工信息
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先要用上一篇的步驟啟動(dòng)服務(wù)器,建立站點(diǎn)。然后在該站點(diǎn)下創(chuàng)建php文件和html文件。
php代碼如下,文件名為server.php
<?php //設(shè)置頁(yè)面內(nèi)容是html編碼格式是utf-8 header("Content-Type: text/plain;charset=utf-8"); //header("Content-Type: application/json;charset=utf-8"); //header("Content-Type: text/xml;charset=utf-8"); //header("Content-Type: text/html;charset=utf-8"); //header("Content-Type: application/javascript;charset=utf-8"); //定義一個(gè)多維數(shù)組,包含員工的信息,每條員工信息為一個(gè)數(shù)組 $staff = array(array("name" => "洪七", "number" => "101", "sex" => "男", "job" => "總經(jīng)理"),array("name" => "郭靖", "number" => "102", "sex" => "男", "job" => "開(kāi)發(fā)工程師"),array("name" => "黃蓉", "number" => "103", "sex" => "女", "job" => "產(chǎn)品經(jīng)理"));//判斷如果是get請(qǐng)求,則進(jìn)行搜索;如果是POST請(qǐng)求,則進(jìn)行新建 //$_SERVER是一個(gè)超全局變量,在一個(gè)腳本的全部作用域中都可用,不用使用global關(guān)鍵字 //$_SERVER["REQUEST_METHOD"]返回訪問(wèn)頁(yè)面使用的請(qǐng)求方法 if ($_SERVER["REQUEST_METHOD"] == "GET") {search(); } elseif ($_SERVER["REQUEST_METHOD"] == "POST"){create(); }//通過(guò)員工編號(hào)搜索員工 function search(){//檢查是否有員工編號(hào)的參數(shù)//isset檢測(cè)變量是否設(shè)置;empty判斷值為否為空//超全局變量 $_GET 和 $_POST 用于收集表單數(shù)據(jù)if (!isset($_GET["number"]) || empty($_GET["number"])) {echo "參數(shù)錯(cuò)誤";return;}//函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問(wèn)。//global 關(guān)鍵詞用于訪問(wèn)函數(shù)內(nèi)的全局變量global $staff;//獲取number參數(shù)$number = $_GET["number"];$result = "沒(méi)有找到員工。";//遍歷$staff多維數(shù)組,查找key值為number的員工是否存在,如果存在,則修改返回結(jié)果foreach ($staff as $value) {if ($value["number"] == $number) {$result = "找到員工:員工編號(hào):" . $value["number"] . ",員工姓名:" . $value["name"] . ",員工性別:" . $value["sex"] . ",員工職位:" . $value["job"];break;}}echo $result; }//創(chuàng)建員工 function create(){//判斷信息是否填寫完全if (!isset($_POST["name"]) || empty($_POST["name"])|| !isset($_POST["number"]) || empty($_POST["number"])|| !isset($_POST["sex"]) || empty($_POST["sex"])|| !isset($_POST["job"]) || empty($_POST["job"])) {echo "參數(shù)錯(cuò)誤,員工信息填寫不全";return;}//TODO: 獲取POST表單數(shù)據(jù)并保存到數(shù)據(jù)庫(kù)//提示保存成功echo "員工:" . $_POST["name"] . " 信息保存成功!"; }html代碼如下
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Demo</title> <style> body, input, select, button, h1 {font-size: 28px;line-height:1.7; } </style> </head><body> <h1>員工查詢</h1><label for="keyword">請(qǐng)輸入員工編號(hào):</label> <input type="text" id="keyword" /> <button id="search">查詢</button> <!--保存查詢結(jié)果--> <p id="searchResult"></p><h1>員工新建</h1> <label for="staffName" >請(qǐng)輸入員工姓名:</label> <input type="text" id="staffName" /><br> <label for="staffNumber">請(qǐng)輸入員工編號(hào):</label> <input type="text" id="staffNumber" /><br> <label for="staffSex">請(qǐng)選擇員工性別:</label> <select id="staffSex"> <option>女</option> <option>男</option> </select><br> <label for="staffJob">請(qǐng)輸入員工職位:</label> <input type="text" id="staffJob" /><br> <button id="save">保存</button> <p id="createResult"></p><script> document.getElementById("search").onclick = function() { //發(fā)送查詢請(qǐng)求并處理var request = new XMLHttpRequest();//server.php?number=" document.getElementById("keyword").value//server.php是地址,其后要帶一個(gè)參數(shù)number,//number=document.getElementById("keyword").value,即剛才輸入的要查詢的員工編號(hào) request.open("GET", "server.php?number=" document.getElementById("keyword").value);request.send();request.onreadystatechange = function() {if (request.readyState===4) {if (request.status===200) { document.getElementById("searchResult").innerHTML = request.responseText;} else {alert("發(fā)生錯(cuò)誤:" request.status);}} } } document.getElementById("save").onclick = function() { var request = new XMLHttpRequest();request.open("POST", "server.php");var data = "name=" document.getElementById("staffName").value "&number=" document.getElementById("staffNumber").value "&sex=" document.getElementById("staffSex").value "&job=" document.getElementById("staffJob").value;request.setRequestHeader("Content-type","application/x-www-form-urlencoded");request.send(data);request.onreadystatechange = function() {if (request.readyState===4) {if (request.status===200) { document.getElementById("createResult").innerHTML = request.responseText;} else {alert("發(fā)生錯(cuò)誤:" request.status);}} } } </script> </body> </html>代碼完成后,直接在DreamWeaver里面按F12快捷鍵!!!!不能通過(guò)HTML文件右鍵打開(kāi),這樣就會(huì)有跨域錯(cuò)誤。
直接按F12快捷鍵才是用了本地的服務(wù)器,同一個(gè)域。
更多專業(yè)前端知識(shí),請(qǐng)上 【猿2048】www.mk2048.com
總結(jié)
以上是生活随笔為你收集整理的Ajax应用查询员工信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: float
- 下一篇: Es6学习笔记(7)----数组的扩展