php頁面不重新整理更新資料

2020-07-16 10:06:49

php頁面不重新整理更新資料

php頁面不重新整理更新資料實現起來很簡單,我們可以使用前端的ajax技術。

ajax作用:ajax技術的目的是讓javascript傳送http請求,與後台通訊,獲取資料和資訊。實現前後端分離。ajax技術的原理是範例化xmlhttp物件,使用此物件與後台通訊。ajax通訊的過程不會影響後續javascript的執行,從而實現非同步。

在js裡面ajax主要解決的問題就是:不重新整理當前頁面,把某些資料傳遞給伺服器,把某些資料從伺服器拿回用戶端。

一、在html裡的五步走策略:

1.建立AJAX核心物件

ar xhr=new XMLHttpRequest();

2.新增預載入;指如果xhr物件的預備好的狀態發生了變化時,觸發函數。

xhr.addEventListener("load",loadHandler);

3.建立連線

xhr.open("GET","http://localhost/index.php?user=zhangsan");

建立連線裡引數問題,語法:

xhr.open("get", url, true);

備註:open() 方法中

第1個引數指請求的傳送方式,值為get或post。

第2個引數指請求的url路徑就是你寫的php檔案 的路徑,?後面是所攜帶get所要獲得的相關資訊。

第3個引數指請求是非同步還是同步,如果寫true表示非同步(預設true), 寫false表示同步。

4.向伺服器發起請求

xhr.send();

語法:

xhr.send();

備註:如果是get方式傳送請求,send()命令中不用寫任何引數

傳遞的資料可以寫在url中,伺服器用$_GET[「引數名」]接收。

如果是post方式傳送請求,需要設定請求頭才能正確把資料傳遞給後端頁面。 我們這裡採用的是get方式,所以不用寫任何引數。

xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
xhr.send(「資料名1=資料值&資料名2=資料值」);

伺服器用$_POST[「引數名」]接收。

5.宣告預載入函數;接收響應

function loadHandler(){
   // 獲取並使用伺服器的響應
    console.log(xhr.response);
 
}

二· 在php檔案裡面

三步驟:

header("content-type:text/html;charset=utf-8");

設定字元編碼

header("Access-Control-Allow-Origin:*");

設定Access-Control-Allow-Origin來實現跨域存取(因為不同的域名預設不允許之間不可以相互通訊)

echo $_GET["user"]."今天心情很好";

所要交給前台的資料

四.實現存取:

將寫好的php檔案放入到phpStydy 的www的資料夾內,如下圖:

1.找到phpStyle的安裝目錄

2.開啟找到www資料夾

3.將你寫好的PHP檔案複製到www資料夾裡面去,如我剛寫的index.php檔案;

4.現在實現簡單的ajax的存取;

現在執行你的html程式碼:

此時就會實現頁面不重新整理,就可以存取php的資料了

以上就是php頁面不重新整理更新資料的詳細內容,更多請關注TW511.COM其它相關文章!