JavaScript是一門廣泛應用于web開發的腳本語言,而PHP則是服務器端最為常用的開發語言之一。在Web開發中,將JavaScript和PHP相結合可以完成更多的功能性需求,比如獲取PHP返回的數據,實現數據的動態展示。那么如何用JavaScript來獲取PHP返回的數據呢?下面我們就來一步步盤點。
首先,我們來看一個簡單的例子,比如一個php文件return.php,里面只有一個變量$data。我們需要用JavaScript獲取這個變量的值。
//return.php $data = "hello world"; echo $data; //JavaScript文件中獲取$data var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var data = this.responseText; alert(data); } }; xmlhttp.open("GET", "return.php", true); xmlhttp.send();
這里用到了XMLHttpRequest對象,用于向服務器發起請求并獲取響應的數據。當狀態碼為4,HTTP狀態碼為200時,代表請求成功,可以通過this.ResponseWriterText對返回的數據進行獲取。這個數據也就是我們剛剛在return.php文件中定義的$data值。
但是,如果return.php文件中定義的變量有多個,而我們只需要獲取其中的某一個變量,該怎么實現呢?這時候可以在return.php文件中定義一個數組或者一個對象,將所需的變量存儲在其中。需要注意的是,在返回的響應數據中,我們需要將數組或者對象轉換為JSON格式,以便在JavaScript中進行解析。
//return.php $arr = array("name"=>"Tom","age"=>25,"gender"=>"male"); echo json_encode($arr); //JavaScript文件中獲取$arr.name var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var data = JSON.parse(this.responseText); alert(data.name); } }; xmlhttp.open("GET", "return.php", true); xmlhttp.send();
這里使用了PHP內置的json_encode函數將數組$arr轉換為了JSON格式的字符串,并通過XMLHttpRequest對象獲取響應數據。而在JavaScript中,我們可以使用JSON.parse()函數對返回的JSON字符串進行解析,這樣我們就可以獲取到所需變量的值了。
最后,我們再看一種常見的場景,比如需要從PHP文件中獲取數據庫中的數據,并在網頁中進行顯示。我們可以在PHP文件中先獲取數據庫的數據,再將數據通過json_encode函數轉換為JSON格式的字符串。然后在JavaScript中通過XMLHttpRequest對象獲取數據,并將數據插入到網頁中。
//return.php $conn = mysqli_connect($servername, $username, $password, $dbname); $sql = "SELECT * FROM users"; $result = mysqli_query($conn, $sql); $data = array(); while($row = mysqli_fetch_assoc($result)) { $data[] = $row; } mysqli_close($conn); echo json_encode($data); //JavaScript文件中獲取數據庫中的數據并顯示在網頁中 var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var data = JSON.parse(this.responseText); var table = document.createElement("table"); for(var i=0;i這里用到了mysqli的查詢語句,獲取了數據庫中的數據,并將數據存儲在數組$data中,做成JSON字符串返回給前端。在JavaScript中,我們通過創建table、tr、td等標簽,并將數據插入到其中,實現了對數據庫中數據在網頁中展示的效果。
通過以上例子,我們可以發現,JavaScript與PHP相結合,可以在Web開發中更加靈活地實現各類功能。而JavaScript獲取PHP數據,是實現動態效果的必不可少的一步。希望本文對各位讀者有所啟發,實踐出真知。