鍍金池/ 問答/PHP  HTML/ PHP如何在不使用框架技術(shù)的情況下與jquery分離的實現(xiàn)接口對接數(shù)據(jù)交互?

PHP如何在不使用框架技術(shù)的情況下與jquery分離的實現(xiàn)接口對接數(shù)據(jù)交互?

我剛?cè)腴Tphp,在練手一個小項目時,前端里用jquery寫了一個接口,我在網(wǎng)上搜索了一下,都說用AJAX異步傳遞數(shù)據(jù),ajax我懂一點,還是束手無策,具體流程是怎么樣的呢?寫法應(yīng)該怎么樣寫呢?特請教各位,謝謝大家了

回答
編輯回答
夢一場

可以參看這篇文章,很詳細(xì):
Ajax綜合應(yīng)用大全(全面解析)

2017年8月18日 02:47
編輯回答
失心人

我來舉一個很簡單的例子:

先從http請求說起,關(guān)于http請求,我這里不說http傳輸所包含的請求頭、請求體、狀態(tài)碼這些東西,目前初學(xué)階段也可以暫時不用關(guān)注這些。我現(xiàn)在講的是我們?yōu)g覽器發(fā)起http請求的時候與后端程序的交互行為。

首先我們來看,假設(shè)你在瀏覽器地址欄輸入了:http://test.com/index.php,這個運行行為是什么樣的呢,也就是瀏覽器像服務(wù)器發(fā)起請求,然后服務(wù)器軟件,比如nginx或者Apache監(jiān)聽80端口,然后獲取到這個請求,然后根據(jù)配置,且通過請求地址知道請求的文件是index.php這個文件,然后就會調(diào)用PHP解析程序去解析index.php這個文件里的程序,然后返回這文件里你自己編寫的邏輯產(chǎn)生的結(jié)果。瀏覽器接收到,就能顯示數(shù)據(jù)了。

上面的清楚了,我這里簡單的說一下ajax這個東西,我不抄官方的說明,我這里用自己的話語給你解釋一下,用jQuery發(fā)起一個請求相當(dāng)于是隱式的向服務(wù)器發(fā)起請求,也就是說并不是通過你手動在瀏覽器地址欄輸入地址回車請求數(shù)據(jù)的。隱式的發(fā)起請求,你不可感知,沒有看到頁面刷新,但是實際上已經(jīng)發(fā)起請求并獲取數(shù)據(jù)了。

那么我們來看一下jQuery發(fā)起ajax請求的代碼:

$.ajax({
    url : 'http://test.com/test.php',// 發(fā)起請求的后端地址
    type : 'post', // 以post的形式發(fā)起請求
    data : {id:'hello'}, // 帶上自己的數(shù)據(jù)id的值為hello
    dataType : 'json', // 獲取到的數(shù)據(jù)以json形式返回
    success : function(responseData) {
        // 后端返回的數(shù)據(jù)是responseData
    }
});

這里我加了比較清晰的注釋,大致就是向后端發(fā)起請求,然后后端返回json的數(shù)據(jù)。那么我編寫這個test.php文件

$response = [
    'name' => 'This is name',
    'age' => 18
];
echo json_encode($response); // 把數(shù)組轉(zhuǎn)換成json輸出給前端

基本上以上就是個比較完整的例子了,有啥不理解的請留言。

2017年7月7日 19:16