新聞中心
php怎么實(shí)現(xiàn)頁面不刷新更新數(shù)據(jù)?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
php頁面不刷新更新數(shù)據(jù)實(shí)現(xiàn)起來很簡單,我們可以使用前端的ajax技術(shù)。
ajax作用:ajax技術(shù)的目的是讓javascript發(fā)送http請求,與后臺通信,獲取數(shù)據(jù)和信息。實(shí)現(xiàn)前后端分離。ajax技術(shù)的原理是實(shí)例化xmlhttp對象,使用此對象與后臺通信。ajax通信的過程不會影響后續(xù)javascript的執(zhí)行,從而實(shí)現(xiàn)異步。
在js里面ajax主要解決的問題就是:不刷新當(dāng)前頁面,把某些數(shù)據(jù)傳遞給服務(wù)器,把某些數(shù)據(jù)從服務(wù)器拿回客戶端。
一、在html里的五步走策略:
1.建立AJAX核心對象
ar xhr=new XMLHttpRequest();
2.添加預(yù)加載;指如果xhr對象的預(yù)備好的狀態(tài)發(fā)生了變化時,觸發(fā)函數(shù)。
xhr.addEventListener("load",loadHandler);
3.建立連接
xhr.open("GET","http://localhost/index.php?user=zhangsan");
建立連接里參數(shù)問題,語法:
xhr.open("get", url, true);
備注:open() 方法中
第1個參數(shù)指請求的發(fā)送方式,值為get或post。
第2個參數(shù)指請求的url路徑就是你寫的php文件 的路徑,?后面是所攜帶get所要獲得的相關(guān)信息。
第3個參數(shù)指請求是異步還是同步,如果寫true表示異步(默認(rèn)true), 寫false表示同步。
4.向服務(wù)器發(fā)起請求
xhr.send();
語法:
xhr.send();
備注:如果是get方式發(fā)送請求,send()命令中不用寫任何參數(shù)
傳遞的數(shù)據(jù)可以寫在url中,服務(wù)器用$_GET[“參數(shù)名”]接收。
如果是post方式發(fā)送請求,需要設(shè)置請求頭才能正確把數(shù)據(jù)傳遞給后端頁面。 我們這里采用的是get方式,所以不用寫任何參數(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來實(shí)現(xiàn)跨域訪問(因?yàn)椴煌挠蛎J(rèn)不允許之間不可以相互通信)
echo $_GET["user"]."今天心情很好";
所要交給前臺的數(shù)據(jù)
四.實(shí)現(xiàn)訪問:
將寫好的php文件放入到phpStydy 的www的文件夾內(nèi),如下圖:
1.找到phpStyle的安裝目錄
2.打開找到www文件夾
3.將你寫好的PHP文件復(fù)制到www文件夾里面去,如我剛寫的index.php文件;
4.現(xiàn)在實(shí)現(xiàn)簡單的ajax的訪問;
現(xiàn)在運(yùn)行你的html代碼:
此時就會實(shí)現(xiàn)頁面不刷新,就可以訪問php的數(shù)據(jù)了
關(guān)于php怎么實(shí)現(xiàn)頁面不刷新更新數(shù)據(jù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道了解更多相關(guān)知識。
當(dāng)前文章:php怎么實(shí)現(xiàn)頁面不刷新更新數(shù)據(jù)-創(chuàng)新互聯(lián)
文章來源:http://www.ef60e0e.cn/article/ddghhj.html