婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > AJAX和JSP混合使用方法實例

AJAX和JSP混合使用方法實例

熱門標簽:ai機器人電銷資源 個人怎樣在百度地圖標注地名 超級大富翁地圖標注 騰訊地圖標注位置能用多久 云呼外撥網(wǎng)絡(luò)電話系統(tǒng) 機器人電銷騙局揭秘 越南河內(nèi)地圖標注 硅語電話機器人公司 地圖標注項目怎么樣

首先要知道AJAX 是一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。

什么是 AJAX ?

AJAX = 異步 JavaScript 和 XML。

AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。

通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。

傳統(tǒng)的網(wǎng)頁(不使用 AJAX)如果需要更新內(nèi)容,必需重載整個網(wǎng)頁面。

AJAX工作原理


AJAX請求

ajax請求是依靠XMLHttpRequest對象,因此在請求前先要創(chuàng)建其對象

var xmlhttp;
//兼容性寫法創(chuàng)建請求實例,IE5 6支持else里面的方法
if (window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

接著向服務(wù)器發(fā)送請求

open函數(shù)有三個參數(shù),請求方式,請求地址,請求是異步還是同步
send(String)函數(shù)有一個參數(shù),只有當請求方式為post的時候,String參數(shù)才需要帶上

那么GET和POST的區(qū)別呢?

與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。

然而,在以下情況中,請使用 POST 請求:

無法使用緩存文件(更新服務(wù)器上的文件或數(shù)據(jù)庫)
向服務(wù)器發(fā)送大量數(shù)據(jù)(POST 沒有數(shù)據(jù)量限制)
發(fā)送包含未知字符的用戶輸入時,POST 比 GET 更穩(wěn)定也更可靠

//設(shè)置傳送方式,地址,以及同步還是異步
xmlhttp.open("GET","Test.jsp?value="+escape(value),true);
xmlhttp.onreadystatechange = callback;//狀態(tài)改變的時候執(zhí)行這個函數(shù),用來判斷是否請求完畢
xmlhttp.send();//請求服務(wù)器,如果使用post方式,則send里面要帶上傳遞的參數(shù)
//post方式
/**
xmlhttp.open("POST","Test.jsp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("value="+value);
*/

然后服務(wù)器端處理并返回,這個放在實例里面有具體代碼

在回調(diào)函數(shù)callback中設(shè)置對返回響應(yīng)

onreadystatechange 存儲函數(shù)(或函數(shù)名),每當 readyState 屬性改變時,就會調(diào)用該函數(shù)。
readyState 存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。

0: 請求未初始化
1: 服務(wù)器連接已建立
2: 請求已接收
3: 請求處理中
4: 請求已完成,且響應(yīng)已就緒

status 200: “OK”

404: 未找到頁面

相應(yīng)服務(wù)器的類型

responseText 獲得字符串形式的響應(yīng)數(shù)據(jù)。

responseXML 獲得 XML 形式的響應(yīng)數(shù)據(jù)。 這個一般當open里面的url為xml文件的時候用

function callback(){
//請求完成表示
if(xmlhttp.readyState ==4  xmlhttp.status==200){
//設(shè)置相應(yīng)操作
}
}
}

總體來說就這幾個步驟,下面是詳細代碼

實例

首先創(chuàng)建一個文本框,用于測試用戶名,并且添加監(jiān)聽事件onblur,意思是當失去焦點則執(zhí)行,并在其后面創(chuàng)建個span空標簽,用來動態(tài)顯示信息,表示名稱是否被占用

form method="post" action="AJAX.jsp">
table>
tr>
td>input type="text" id="userid" onblur="checkuser()" >span style="color: red" id="spanid">/span>/td>
/tr>
/table>
/form>

接下來是JS代碼,使用AJAX把輸入的內(nèi)容發(fā)送到服務(wù)器,服務(wù)器來檢驗

var xmlhttp;
function checkuser(){
var value = document.getElementById("userid").value;
//兼容性寫法創(chuàng)建請求實例,IE5 6支持else里面的方法
if (window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//設(shè)置傳送方式,地址,以及同步還是異步
xmlhttp.open("GET","Test.jsp?value="+escape(value),true);
xmlhttp.onreadystatechange = callback;//狀態(tài)改變的時候執(zhí)行這個函數(shù),用來判斷是否請求完畢
xmlhttp.send();//請求服務(wù)器
}

然后服務(wù)器端獲得數(shù)據(jù)后寫回

%
response.setHeader("Cache-Control","no-store");//HTTP1.1
response.setHeader("Pragma","no-cache");//HTTP1.0
response.setDateHeader("Expires",0);//禁止在服務(wù)器中緩存
String value = request.getParameter("value");//獲取傳送過來的參數(shù)
response.getWriter().write(value);//模擬數(shù)據(jù)寫回
%>

客戶端再回調(diào)函數(shù)中處理服務(wù)器寫回的數(shù)據(jù)

/**
* 回調(diào)函數(shù)
*/
function callback(){
//請求完成表示
if(xmlhttp.readyState ==4  xmlhttp.status==200){
alert(xmlhttp.responseText);//相應(yīng)返回的text
// alert(xmlhttp.responseXML);//相應(yīng)返回的xml
if (xmlhttp.responseText){//這里直接判斷不為空,應(yīng)該根據(jù)數(shù)據(jù)庫返回值來進行不同的顯示
var spanid = document.getElementById("spanid");
spanid.innerHTML = "注冊成功";
}
}
}

效果就是當輸入框失去焦點就立即判斷,當然實際判斷是要連接數(shù)據(jù)庫的,為了簡單就直接打印出來了

以上內(nèi)容是針對AJAX和JSP混合使用方法實例,希望對大家有所幫助!

您可能感興趣的文章:
  • 使用Ajax生成的Excel文件并下載的實例
  • jQuery ajax中使用confirm,確認是否刪除的簡單實例
  • 實例講解使用原生JavaScript處理AJAX請求的方法
  • jQuery使用$.ajax提交表單完整實例
  • 實例詳解angularjs和ajax的結(jié)合使用
  • jQuery Ajax使用實例
  • ThinkPHP中ajax使用實例教程
  • Ajax和$.ajax使用實例詳解(推薦)

標簽:內(nèi)蒙古 林芝 鄭州 海南 邢臺 遼源 舟山 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《AJAX和JSP混合使用方法實例》,本文關(guān)鍵詞  AJAX,和,JSP,混合,使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《AJAX和JSP混合使用方法實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于AJAX和JSP混合使用方法實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 弥勒县| 新野县| 高淳县| 郁南县| 松潘县| 巫溪县| 临海市| 凤冈县| 镇宁| 叙永县| 阳山县| 辰溪县| 桂阳县| 涿鹿县| 布尔津县| 宁阳县| 双鸭山市| 确山县| 新密市| 吉隆县| 理塘县| 南通市| 隆化县| 平昌县| 红河县| 六安市| 荣昌县| 遵化市| 锡林浩特市| 屏山县| 紫金县| 克什克腾旗| 新巴尔虎右旗| 绥中县| 赤水市| 荆州市| 灌阳县| 高雄市| 普兰店市| 汉寿县| 镇雄县|