版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
AJAX請求數(shù)據(jù)_demo本篇列舉三個 demo:1、用ajax請求json格式數(shù)據(jù)(JavaScript)2、用ajax請求json格式數(shù)據(jù)(jQuery)3、用jsonp請求json格式數(shù)據(jù)(Jquery)頁面只有實(shí)現(xiàn)兩個功能(用頁面布局如下:<h1>員工查詢</h1>
get
請求-獲取數(shù)據(jù)
& 用
post
請求-設(shè)置修改數(shù)據(jù))三個
demo<label>請輸入員工編號: </label><inputtype="text"id="keyword"/><buttonid="search">查詢</button><pid="searchResult"></p><h1>員工新建</h1><label>請輸入員工姓名: </label><inputtype="text"id="staffName"/><br><label>請輸入員工編號: </label><inputtype="text"id="staffNumber"/><br><label>請選擇員工性別: </label><selectid="staffSex"><option>女</option><option>男</option></select><br><label>請輸入員工職位: </label><inputtype="text"id="staffJob"/><br><buttonid="save">保存</button><pid="createResult"></p>其中demo1和demo2請求的一個 php數(shù)據(jù),PHP文件如下:serverjson.php:<?php//設(shè)置頁面內(nèi)容是 html編碼格式是 utf-8//header("Content-Type:text/plain;charset=utf-8");// 純文本格式header("Content-Type:application/json;charset=utf-8");//json 字符串//header("Content-Type:text/xml;charset=utf-8");//header("Content-Type:text/html;charset=utf-8");//header("Content-Type:application/javascript;charset=utf-8");//定義一個多維數(shù)組,包含員工的信息,每條員工信息為一個數(shù)組$staff=array(array("name"=>"array("name"=>"array("name"=>"
洪七郭靖黃蓉
","number"=>"101","sex"=>"","number"=>"102","sex"=>"","number"=>"103","sex"=>"
男","job"=>"總經(jīng)理"),男","job"=>"開發(fā)工程師女","job"=>"產(chǎn)品經(jīng)理")
"),);//判斷如果是
get請求,則進(jìn)行搜索;如果是
POST
請求,則進(jìn)行新建//$_SERVER
是一個超全局變量,在一個腳本的全部作用域中都可用,不用使用
global
關(guān)鍵字//$_SERVER["REQUEST_METHOD"]返回訪問頁面使用的請求方法if($_SERVER["REQUEST_METHOD"]=="GET"){search();}elseif($_SERVER["REQUEST_METHOD"]=="POST"){create();}//通過員工編號搜索員工functionsearch(){//檢查是否有員工編號的參數(shù)isset檢測變量是否設(shè)置;empty判斷值為否為空//超全局變量 $_GET和$_POST用于收集表單數(shù)據(jù)if(!isset($_GET["number"])||empty($_GET["number"])){echo'{"success":false,"msg":"參數(shù)錯誤"}';return;}//函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問。//global 關(guān)鍵詞用于訪問函數(shù)內(nèi)的全局變量global$staff;//獲取number參數(shù)$number=$_GET["number"];$result='{"success":false,"msg":"沒有找到員工。 "}';//遍歷$staff多維數(shù)組,查找 key值為number的員工是否存在,如果存在,則修改返回結(jié)果foreach($staffas$value){if($value["number"]==$number){$result='{"success":true,"msg":" 員工編號:'.$value["number"].',員工姓名:'.$value["name"].',員工性別:'.$value["sex"].',員工職位:'.$value["job"].'"}';break;}}echo$result;}//創(chuàng)建員工functioncreate(){//判斷信息是否填寫完全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'{"success":false,"msg":"參數(shù)錯誤,員工信息填寫不全"}';return;}//TODO: 獲取POST表單數(shù)據(jù)并保存到數(shù)據(jù)庫//提示保存成功echo'{"success":true,"msg":"員工:'.$_POST["name"].' 信息保存成功! "}';}?>demo1、用ajax請求json格式數(shù)據(jù)(javascript)ajax訪問serverjson.PHP的JS代碼:<script>//get請求-查詢數(shù)據(jù)varsearch=document.getElementById('search');varkeyword=document.getElementById('keyword');varsearchResult=document.getElementById('searchResult');search.onclick=function(){//1、創(chuàng)建XMLHttpRequest 對象varxhr=newXMLHttpRequest();// 非IE5、6//2、打開與服務(wù)器的鏈接xhr.open('get','serverjson.php?number='+keyword.value,true);//3、發(fā)送請求xhr.send();//4、響應(yīng)請求xhr.onreadystatechange=function(){if(xhr.readyState===4){//請求已完成if(xhr.status===200){////json字符創(chuàng)轉(zhuǎn)化為 json對象vardata=eval('('+xhr.responseText+')');if(data.success){searchResult.innerHTML="找到員工:"+data.msg;}else{searchResult.innerHTML="出現(xiàn)錯誤:"+data.msg;}}else{alert('發(fā)生錯誤'+xhr.status);}}}}//post請求-修改數(shù)據(jù)varsave=document.getElementById('save');varstaffName=document.getElementById('staffName');varstaffNumber=document.getElementById('staffNumber');varstaffSex=document.getElementById('staffSex');varstaffJob=document.getElementById('staffJob');varcreateResult=document.getElementById('createResult');save.onclick=function(){//1、創(chuàng)建XMLHttpRequest 對象varxhr=newXMLHttpRequest();// 非IE5、6//2、打開與服務(wù)器的鏈接xhr.open('post','serverjson.php',true);//post請求添加 http頭部信息xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");vardata='name='+staffName.value+'&number='+staffNumber.value+'&sex='+staffSex.value+'&job='+staffJob.value;//3、發(fā)送請求-send中傳入字符串xhr.send(data);//4、響應(yīng)請求xhr.onreadystatechange=function(){if(xhr.readyState===4){//請求已完成if(xhr.status===200){//vardata=eval('('+xhr.responseText+')')if(data.success){createResult.innerHTML="成功:"+data.msg;}else{createResult.innerHTML="錯誤:"+data.msg;}}else{alert('發(fā)生錯誤'+xhr.status);}}}}</script>demo2、用ajax請求json格式數(shù)據(jù)(Jquery)Jquery實(shí)現(xiàn)AJAX數(shù)據(jù)請求:$(document).ready(function(){$("#search").click(function(){$.ajax({type:"GET",url:"serverjson.php?number="+$("#keyword").val(),success:function(data){if(data.success){$("#searchResult").html(data.msg);}else{$("#searchResult").html("出現(xiàn)錯誤:"+data.msg);}},error:function(jqXHR){alert("發(fā)生錯誤:"+jqXHR.status);},});});$("#save").click(function(){$.ajax({type:"POST",url:"serverjson.php",data:{name:$("#staffName").val(),number:$("#staffNumber").val(),sex:$("#staffSex").val(),job:$("#staffJob").val()},dataType:"json",success:function(data){if(data.success){$("#createResult").html(data.msg);}else{$("#createResult").html("出現(xiàn)錯誤:"+data.msg);}},error:function(jqXHR){alert("發(fā)生錯誤:"+jqXHR.status);},});});});</script>demo3、用jsonp請求json格式數(shù)據(jù)(Jquery)其中demo3請求的一個 php數(shù)據(jù),PHP文件如下:serverjsonp.php:<?phpheader("Content-Type:application/json;charset=utf-8");//定義一個多維數(shù)組,包含員工的信息,每條員工信息為一個數(shù)組$staff=array(array("name"=>"洪七","number"=>"101","sex"=>"array("name"=>"郭靖","number"=>"102","sex"=>"array("name"=>"黃蓉","number"=>"103","sex"=>");
男","job"=>"總經(jīng)理"),男","job"=>"開發(fā)工程師"),女","job"=>"產(chǎn)品經(jīng)理")//判斷如果是 get請求,則進(jìn)行搜索;如果是 POST請求,則進(jìn)行新建//$_SERVER是一個超全局變量,在一個腳本的全部作用域中都可用,不用使用 global關(guān)鍵字//$_SERVER["REQUEST_METHOD"]返回訪問頁面使用的請求方法if($_SERVER["REQUEST_METHOD"]=="GET"){search();}elseif($_SERVER["REQUEST_METHOD"]=="POST"){create();}//通過員工編號搜索員工functionsearch(){$jsonp=$_GET["callback"];//檢查是否有員工編號的參數(shù)//isset檢測變量是否設(shè)置; empty判斷值為否為空//超全局變量 $_GET和$_POST用于收集表單數(shù)據(jù)if(!isset($_GET["number"])||empty($_GET["number"])){echo$jsonp.'({"success":false,"msg":"參數(shù)錯誤"})';return;}//函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問。//global 關(guān)鍵詞用于訪問函數(shù)內(nèi)的全局變量global$staff;//獲取number參數(shù)$number=$_GET["number"];$result=$jsonp.'({"success":false,"msg":" 沒有找到員工。 "})';//遍歷$staff多維數(shù)組,查找 key值為number的員工是否存在,如果存在,則修改返回結(jié)果foreach($staffas$value){if($value["number"]==$number){$result = **$jsonp . '({"success":true,"msg":" 找到員工:員工編號:'.$value["number"].',員工姓名:'.$value["name"].',員工性別:'.$value["sex"].',員工職位:'.$value["job"].'"})'**;break;}}echo$result;}//創(chuàng)建員工functioncreate(){//判斷信息是否填寫完全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'{"success":false,"msg":"參數(shù)錯誤,員工信息填寫不全"}';return;}//TODO: 獲取POST表單數(shù)據(jù)并保存到數(shù)據(jù)庫//提示保存成功echo'{"success":true,"msg":"員工:'.$_POST["name"].' 信息保存成功! "}';}?>Jquery實(shí)現(xiàn)-jsonp數(shù)據(jù)請求:$(document).read
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)資源計劃(ERP)管理工具包
- 議論文:網(wǎng)絡(luò)時代閱讀紙質(zhì)書的價值討論(9篇)
- 慈善公益活動信守承諾函5篇范文
- 產(chǎn)品設(shè)計優(yōu)化思路及技術(shù)方案記錄表
- 生產(chǎn)流程安全與質(zhì)量控制檢查表
- 安全培訓(xùn)課件比賽
- 安徽醫(yī)科大學(xué)《播音與主持藝術(shù)》2024 - 2025 學(xué)年第一學(xué)期期末試卷
- 2026上半年貴州事業(yè)單位聯(lián)考湄潭縣招聘93人備考題庫附答案詳解(培優(yōu)b卷)
- 2026廣東佛山順德區(qū)陳村鎮(zhèn)民族路幼兒園臨聘保育員招聘1人備考題庫附答案詳解(模擬題)
- 春節(jié)的那些事兒記敘文10篇范文
- 密押服務(wù)器型用戶手冊
- CJJT148-2010 城鎮(zhèn)燃?xì)饧映艏夹g(shù)規(guī)程
- 《審計法》修訂解讀
- 醫(yī)院藥品目錄(很好的)
- 文化墻設(shè)計制作合同書兩份
- 2023年內(nèi)蒙專技繼續(xù)教育學(xué)習(xí)計劃考試答案(整合版)
- 《通信工程制圖》課程標(biāo)準(zhǔn)
- 石油天然氣建設(shè)工程交工技術(shù)文件編制規(guī)范(SYT68822023年)交工技術(shù)文件表格儀表自動化安裝工程
- 馬鞍山市恒達(dá)輕質(zhì)墻體材料有限公司智能化生產(chǎn)線環(huán)保設(shè)施改造項目環(huán)境影響報告表
- GB/T 26332.6-2022光學(xué)和光子學(xué)光學(xué)薄膜第6部分:反射膜基本要求
- GB/T 3098.1-2010緊固件機(jī)械性能螺栓、螺釘和螺柱
評論
0/150
提交評論