php 文件 不更新,php页面不刷新更新数据
php頁(yè)面不刷新更新數(shù)據(jù)
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ù)器拿回客戶(hù)端。
一、在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)跨域訪(fǎng)問(wèn)(因?yàn)椴煌挠蛎J(rèn)不允許之間不可以相互通信)echo $_GET["user"]."今天心情很好";
所要交給前臺(tái)的數(shù)據(jù)
四.實(shí)現(xiàn)訪(fǎng)問(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的訪(fǎng)問(wèn);
現(xiàn)在運(yùn)行你的html代碼:
此時(shí)就會(huì)實(shí)現(xiàn)頁(yè)面不刷新,就可以訪(fǎng)問(wèn)php的數(shù)據(jù)了
更多PHP相關(guān)知識(shí),請(qǐng)?jiān)L問(wèn)PHP中文網(wǎng)!
總結(jié)
以上是生活随笔為你收集整理的php 文件 不更新,php页面不刷新更新数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 睡眠音频分割及识别问题(十一)--基于A
- 下一篇: vue.js php,vue.js去哪