国产TS紫迹丝袜高跟鞋在线,一区二区三区国产自产视频免费,67pao国产人成视频,午国产午夜激无码毛片不卡

愛碼網(wǎng)專注于資源免費(fèi)下載

Ajax基礎(chǔ)知識(shí)

Ajax基礎(chǔ)知識(shí)-第1張圖片

一.Ajax簡(jiǎn)介

  1. Ajax是一種網(wǎng)頁開發(fā)技術(shù),(Asynchronous Javascript + XML)異步 JavaScript 和 XML;

  2. Ajax是異步交互,局部刷新;

  3. Ajax能減少服務(wù)器壓力;

  4. Ajax能提高用戶體驗(yàn)

二.Ajax交互與傳統(tǒng)交互比較

傳統(tǒng)交互:網(wǎng)頁整體刷新,服務(wù)器壓力大,用戶體驗(yàn)不好;
Ajax交互:局部刷新,服務(wù)器壓力小,用戶體驗(yàn)好。

三.Ajax核心知識(shí)

  1. XMLHttpRequest對(duì)象創(chuàng)建
    所有現(xiàn)代瀏覽器均支持XMLHttpRequest對(duì)象(IE5和IE6使用ActiveXObject)。
    XMLHttpRequest用于在后臺(tái)與服務(wù)器交換數(shù)據(jù),這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下,對(duì)網(wǎng)頁的某個(gè)部分進(jìn)行更新。

  2. XMLHttpRequest對(duì)象請(qǐng)求后臺(tái)
    open(method,url,async)
    規(guī)定請(qǐng)求的類型,url以及是否異步處理請(qǐng)求。
    method:請(qǐng)求的類型:get或post
    url:文件在服務(wù)器上的位置
    async:true(異步)或false(同步)

send(String)
將請(qǐng)求發(fā)送到服務(wù)器
string:僅用于post請(qǐng)求

GET 還是 POST?與 POST 相比,GET 更簡(jiǎn)單也更快,并且在大部分情況下都能用。
然而,在以下情況中,請(qǐng)使用 POST 請(qǐng)求:無法使用緩存文件(更新服務(wù)器上的文件或數(shù)據(jù)庫)向服務(wù)器發(fā)送大量數(shù)據(jù)(POST 沒有數(shù)據(jù)量限制)發(fā)送包含未知字符的用戶輸入時(shí),POST 比 GET 更穩(wěn)定也更可靠

setRequestHeader(header,value) 向請(qǐng)求添加 HTTP 頭。
header: 規(guī)定頭的名稱 value: 規(guī)定頭的值
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
異步 - True 或 False?
AJAX 指的是異步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
為 True 的話,表示的是異步,異步表示程序請(qǐng)求服務(wù)器的同時(shí),程序可以繼續(xù)執(zhí)行;能提高系統(tǒng)的運(yùn)行效率;為 False 的話,表示同步,JavaScript 會(huì)等到服務(wù)器響應(yīng)就緒才繼續(xù)執(zhí)行。如果服務(wù)器繁忙或緩慢,應(yīng)用程序會(huì)掛起或停止。
我們一般都是用 True;

四.XMLHttpRequest對(duì)象響應(yīng)服務(wù)器

onreadystatechange 事件當(dāng)請(qǐng)求被發(fā)送到服務(wù)器時(shí),我們需要執(zhí)行一些基于響應(yīng)的任務(wù)。每當(dāng) readyState 改變時(shí),就會(huì)觸發(fā) onreadystatechange 事件。
readyState 屬性存有 XMLHttpRequest 的狀態(tài)信息。
下面是 XMLHttpRequest 對(duì)象的三個(gè)重要的屬性: onreadystatechange存儲(chǔ)函數(shù)(或函數(shù)名),每當(dāng) readyState 屬性改變時(shí),就會(huì)調(diào)用該函數(shù)。
readyState 存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。
0: 請(qǐng)求未初始化
1: 服務(wù)器連接已建立
2: 請(qǐng)求已接收
3: 請(qǐng)求處理中
4: 請(qǐng)求已完成,且響應(yīng)已就緒 status
200: "OK"
404: 未找到頁面在 onreadystatechange 事件中,我們規(guī)定當(dāng)服務(wù)器響應(yīng)已做好被處理的準(zhǔn)備時(shí)所執(zhí)行的任務(wù)。
如需獲得來自服務(wù)器的響應(yīng),請(qǐng)使用 XMLHttpRequest 對(duì)象的 responseText 或 responseXML 屬性。
responseText 獲得字符串形式的響應(yīng)數(shù)據(jù)。
responseXML 獲得 XML 形式的響應(yīng)數(shù)據(jù)。(了解即可)

五.代碼

ajax.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function loadName(){
        var xmlHttp;
        if(window.XMLHttpRequest){
                xmlHttp = new XMLHttpRequest();
        }else{
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        alert("readState狀態(tài):"+xmlHttp.readyState+",status狀態(tài)"+xmlHttp.status);
        //把方法屬性重寫再重新賦個(gè)屬性
        xmlHttp.onreadystatechange=function(){  
                alert("readState狀態(tài):"+xmlHttp.readyState+",status狀態(tài)"+xmlHttp.status);
                if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
                        alert(xmlHttp.responseText);
                        document.getElementById("name").value=xmlHttp.responseText;
                }
        };              
        //xmlHttp.open("get", "getAjaxName?name=aaa&age=11", "true");
        //xmlHttp.open("post", "getAjaxName?name=aaa&age=11", "true")
        //xmlHttp.send();
        xmlHttp.open("post", "getAjaxName", "true");
        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlHttp.send("name=jack&age=12");
}
</script>
<div>
<input type="button" onclick="loadName()" value="Ajax獲取數(shù)據(jù)"/>
        <input type="text" id="name" name="name"/>
</div>
</body>
</html>

servlet

GetAjaxNameServlet.java(關(guān)鍵代碼)

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        System.out.println("name="+name);
        System.out.println("age="+age);
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println("ajax返回的文本");
        out.flush();
        out.close();
}

web.xml

  <servlet>
        <servlet-name>getAjaxName</servlet-name>
        <servlet-class>com.icode1024.GetAjaxNameServlet</servlet-class>
  </servlet>
  <servlet-mapping>
        <servlet-name>getAjaxName</servlet-name>
        <url-pattern>/getAjaxName</url-pattern>
  </servlet-mapping>

本文鏈接:http://fangxuan.com.cn/article/232.html

網(wǎng)友評(píng)論

熱門文章
隨機(jī)文章
熱門標(biāo)簽
側(cè)欄廣告位