日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 留言板项目 ajax,PHP Ajax留言板

發布時間:2025/3/11 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 留言板项目 ajax,PHP Ajax留言板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本案例代碼已經提供下載,點擊這里!

AJAX即“Asynchronous JavaScript and XML”(異步JavaScript和XML),AJAX并非縮寫詞,而是由Jesse James Gaiiett創造的名詞,是指一種創建交互式。

Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務器提出請求并處理響應,而不阻塞用戶。

在本文的例子中,為了讓初學者對ajax的實現原理有一個更加深刻的認識,沒有使用jquery等框架,整個異步請求都是通過編寫javascript來完成。

本例共包括3個文件,分別為:

config.php 連接數據庫

message.php 用戶訪問的留言界面,當用戶發送留言時,將留言結果以異步請求的方式發送到message_ajax.php。

message_ajax.php 處理來自message.php中的異步請求并返回結果

下面我按實際編寫的步驟來說明:

創建數據庫和表 為了讓問題不至于變得復雜,這里我是在test數據庫中創建了一個表t_message。SQL語句如下:

create table t_message(id int auto_increment primary key,email varchar(100),content text);

編寫用戶留言界面

留言界面非常簡潔,就是一個表單,在message.php中添加以下html代碼如下:

Leave Message Here Email:

Content:

異步請求

使用XMLHttpRequest對象發送請求的基本步驟如下: 創建一個XMLHttpRequest的引用 告訴XMLHttpRequest對象,哪個函數會處理XMLHttpRequest對象狀態的改變,為此要設置onreadystatechange屬性 指定請求的屬性。open() 將請求發送給服務器。send() xmlHttp.responseText將響應提供為一個串

創建一個XMLHttpRequest的引用

var xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); }else{ alert("瀏覽器不支持XMLHttpRequest對象"); } }

創建查詢字符串

function createQueryString(){ var email = document.getElementById("email").value; var content = document.getElementById("content").value; var queryString = "email="+ email + "&content="+ content ; //alert(queryString); return queryString; }

以POST方式發送異步請求

function doRequestUsingPOST(){ createXMLHttpRequest(); var url = "message_ajax.php?timeStamp=" + new Date().getTime(); var queryString = createQueryString(); xmlHttp.open("POST",url,true); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); xmlHttp.send(queryString); }

處理狀態變更,解析message_ajax.php返回的結果

function handleStateChange(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ parseResult(); //alert("OK"); } } } function parseResult(){ var responseDiv = document.getElementById("newmessage"); if(responseDiv.hasChildNodes()){ responseDiv.removeChild(responseDiv.childNodes[0]); } var responseText = xmlHttp.responseText;//document.createTextNode(xmlHttp.responseText); responseDiv.innerHTML = responseText; //responseDiv.appendChild(responseText); }

服務端處理異步請求

然后我們看下服務端message_ajax.php是怎樣處理請求的

"; while($message = mysql_fetch_array($result)){ $onemessage = "

Email:".$message['email']."

Content:".$message['content']."";$responseText = $responseText.$onemessage;}$responseText = $responseText."";echo $responseText;?>

從上面代碼可以看到,服務端首先需要接收客戶端發送過來的請求,在本例中發送的參數就是email和content。

然后,服務端將這些數據保存到數據庫中,并查詢出數據庫中最近的10條留言信息,構造成HTML字符串,并echo。

于是客戶端便可接收到,實現無刷新顯示最近的10條留言(當然需要留言超過10條的時候)。

如果你有神馬問題,請留言討論!

本文原創發布php中文網,轉載請注明出處,感謝您的尊重!

總結

以上是生活随笔為你收集整理的php 留言板项目 ajax,PHP Ajax留言板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。