當(dāng)今互聯(lián)網(wǎng)發(fā)展迅速,網(wǎng)站開發(fā)變得愈加常見,Web編程語言也變得更加多樣化。JavaScript 是當(dāng)前最為流行的前端語言之一,但有時(shí)候需要借助其他語言實(shí)現(xiàn)一些后端操作。PHP 是一種常用的服務(wù)器端腳本語言,如何將 JavaScript 與 PHP 聯(lián)系起來?本文將給大家詳細(xì)介紹 JavaScript 調(diào)用 PHP 的方法。
首先,介紹最簡(jiǎn)單的實(shí)現(xiàn)方式。我們可以利用 JavaScript 的 AJAX 對(duì)象,向后端 PHP 發(fā)送請(qǐng)求并接收響應(yīng):
<script> var xhr = new XMLHttpRequest(); xhr.open("GET", "example.php?name=Tom&age=25", true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status == 200) { console.log(xhr.responseText); } else { console.log("Error: " + xhr.statusText); } } }; xhr.send(); </script>
在上面的例子中,我們使用 XMLHttpRequest 對(duì)象向 example.php 發(fā)送一個(gè) GET 請(qǐng)求,并傳遞了兩個(gè)參數(shù) name 和 age。當(dāng)響應(yīng)狀態(tài)碼變?yōu)?4 時(shí),我們判斷請(qǐng)求是否成功,并打印出響應(yīng)內(nèi)容。其中,xhr.readyState 表示 Ajax 的狀態(tài),4 表示請(qǐng)求已完成;xhr.status 表示響應(yīng)碼,200 表示請(qǐng)求成功,404、500等都表示請(qǐng)求失敗。通過這種方式,JavaScript 可以利用 AJAX 發(fā)送請(qǐng)求與 PHP 進(jìn)行通信。
除了 AJAX,使用 jQuery 也是一種簡(jiǎn)單的方式。jQuery 有著豐富的方法和事件,能夠方便地調(diào)用 PHP。下面的例子中,我們是用了 jQuery 的 get 方法,向 example.php 發(fā)送了 get 請(qǐng)求:
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script> $.get("example.php", { name: "Tom", age: 25 }, function(data, status){ console.log(data); }); </script>
這里,我們向 example.php 發(fā)送了一個(gè) get 請(qǐng)求,同時(shí)傳遞了兩個(gè)參數(shù) name 和 age?;卣{(diào)函數(shù)的 data 參數(shù)接收了響應(yīng)內(nèi)容。相比于使用 AJAX,使用 jQuery 來調(diào)用 PHP 顯得更加方便。
以上兩種方法都是向 PHP 發(fā)送 GET 請(qǐng)求的例子。如果我們希望用 POST 方法來向 PHP 傳遞參數(shù)呢?我們需要新建一個(gè) FormData 對(duì)象,將需要傳遞的參數(shù)封裝在 FormData 對(duì)象中,然后通過 AJAX 技術(shù)將其發(fā)送到服務(wù)器:
<script> var formData = new FormData(); formData.append('name', 'Tom'); formData.append('age', '25'); var xhr = new XMLHttpRequest(); xhr.open('POST', 'example.php', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status == 200) { console.log(xhr.responseText); } else { console.log("Error: " + xhr.statusText); } } }; xhr.send(formData); </script>
在上面的例子中,我們新建了一個(gè) FormData 對(duì)象,通過 append() 函數(shù)向?qū)ο笾刑砑恿藘蓚€(gè)參數(shù)。我們后面向 PHP 發(fā)送了一個(gè) POST 請(qǐng)求,同時(shí)向后端傳遞了兩個(gè)參數(shù)。通過這個(gè)例子,我們可以看出,JavaScript 調(diào)用 PHP 具有非常大的靈活性和通用性。
本文介紹了三種常用的方法來實(shí)現(xiàn) JavaScript 調(diào)用 PHP。這些方法都得到了廣泛地應(yīng)用,為 Web 應(yīng)用系統(tǒng)的開發(fā)提供了方便。由于本人能力有限,還請(qǐng)大家多多指教。