php怎么實(shí)現(xiàn)頁(yè)面不刷新更新數(shù)據(jù)?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的河南網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!php頁(yè)面不刷新更新數(shù)據(jù)實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,我們可以使用前端的ajax技術(shù)。
ajax作用:ajax技術(shù)的目的是讓javascript發(fā)送http請(qǐng)求,與后臺(tái)通信,獲取數(shù)據(jù)和信息。實(shí)現(xiàn)前后端分離。ajax技術(shù)的原理是實(shí)例化xmlhttp對(duì)象,使用此對(duì)象與后臺(tái)通信。ajax通信的過(guò)程不會(huì)影響后續(xù)javascript的執(zhí)行,從而實(shí)現(xiàn)異步。
在js里面ajax主要解決的問(wèn)題就是:不刷新當(dāng)前頁(yè)面,把某些數(shù)據(jù)傳遞給服務(wù)器,把某些數(shù)據(jù)從服務(wù)器拿回客戶端。
一、在html里的五步走策略:
1.建立AJAX核心對(duì)象
ar xhr=new XMLHttpRequest();
2.添加預(yù)加載;指如果xhr對(duì)象的預(yù)備好的狀態(tài)發(fā)生了變化時(shí),觸發(fā)函數(shù)。
xhr.addEventListener("load",loadHandler);
3.建立連接
xhr.open("GET","http://localhost/index.php?user=zhangsan");
建立連接里參數(shù)問(wèn)題,語(yǔ)法:
xhr.open("get", url, true);
備注:open() 方法中
第1個(gè)參數(shù)指請(qǐng)求的發(fā)送方式,值為get或post。
第2個(gè)參數(shù)指請(qǐng)求的url路徑就是你寫(xiě)的php文件 的路徑,?后面是所攜帶get所要獲得的相關(guān)信息。
第3個(gè)參數(shù)指請(qǐng)求是異步還是同步,如果寫(xiě)true表示異步(默認(rèn)true), 寫(xiě)false表示同步。
4.向服務(wù)器發(fā)起請(qǐng)求
xhr.send();
語(yǔ)法:
xhr.send();
備注:如果是get方式發(fā)送請(qǐng)求,send()命令中不用寫(xiě)任何參數(shù)
傳遞的數(shù)據(jù)可以寫(xiě)在url中,服務(wù)器用$_GET[“參數(shù)名”]接收。
如果是post方式發(fā)送請(qǐng)求,需要設(shè)置請(qǐng)求頭才能正確把數(shù)據(jù)傳遞給后端頁(yè)面。 我們這里采用的是get方式,所以不用寫(xiě)任何參數(shù)。
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(“數(shù)據(jù)名1=數(shù)據(jù)值&數(shù)據(jù)名2=數(shù)據(jù)值”);
服務(wù)器用$_POST[“參數(shù)名”]接收。
5.聲明預(yù)加載函數(shù);接收響應(yīng)
function loadHandler(){ // 獲取并使用服務(wù)器的響應(yīng) console.log(xhr.response); }
二· 在php文件里面
三步驟:
header("content-type:text/html;charset=utf-8");
設(shè)置字符編碼
header("Access-Control-Allow-Origin:*");
設(shè)置Access-Control-Allow-Origin來(lái)實(shí)現(xiàn)跨域訪問(wèn)(因?yàn)椴煌挠蛎J(rèn)不允許之間不可以相互通信)
echo $_GET["user"]."今天心情很好";
所要交給前臺(tái)的數(shù)據(jù)
四.實(shí)現(xiàn)訪問(wèn):
將寫(xiě)好的php文件放入到phpStydy 的www的文件夾內(nèi),如下圖:
1.找到phpStyle的安裝目錄
2.打開(kāi)找到www文件夾
3.將你寫(xiě)好的PHP文件復(fù)制到www文件夾里面去,如我剛寫(xiě)的index.php文件;
4.現(xiàn)在實(shí)現(xiàn)簡(jiǎn)單的ajax的訪問(wèn);
現(xiàn)在運(yùn)行你的html代碼:
此時(shí)就會(huì)實(shí)現(xiàn)頁(yè)面不刷新,就可以訪問(wèn)php的數(shù)據(jù)了
關(guān)于php怎么實(shí)現(xiàn)頁(yè)面不刷新更新數(shù)據(jù)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。