日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解析Ajax實(shí)例教程-----級(jí)聯(lián)菜單_AJAX教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:如何不用組件實(shí)現(xiàn)Ajax效果
現(xiàn)在.NET的Ajax組件確實(shí)不少了,微軟的ajax extensions用起來(lái)很方便,一個(gè)UpdatePanel就可以搞定一切。不過,可能有些朋友更愿意自己來(lái)寫。那么在.NET里,你是否知道ICallbackEventHandler呢? 大家應(yīng)該都知道ASP.NET頁(yè)面調(diào)用時(shí)的幾種方式:Postback/Cross-p

關(guān)于ajax的特性,這里不再寫了,去網(wǎng)上隨便就能找到好多. 現(xiàn)在寫一個(gè)用ajax和jsp來(lái)實(shí)現(xiàn)的動(dòng)態(tài)菜單的實(shí)例.先感覺一下ajax是如何實(shí)現(xiàn)傳說(shuō)中的異步操作!
menu.html
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="images/css.css" type=text/css rel=stylesheet>
<script language="javascript">
var XMLHttpReq;
var currentSort;
//創(chuàng)建XMLHttpRequest對(duì)象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 瀏覽器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE瀏覽器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
//發(fā)送請(qǐng)求函數(shù)
function sendRequest(url) {
createXMLHttpRequest();
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定響應(yīng)函數(shù)
XMLHttpReq.send(null); // 發(fā)送請(qǐng)求
}
// 處理返回信息函數(shù)
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判斷對(duì)象狀態(tài)
if (XMLHttpReq.status == 200) { // 信息已經(jīng)成功返回,開始處理信息
updateMenu();
} else { //頁(yè)面不正常
alert("您所請(qǐng)求的頁(yè)面有異常。");
}
}
}
//更新菜單函數(shù)
function updateMenu() {
var res=XMLHttpReq.responseXML.getElementsByTagName("res");
var subMenu = "";
for(var i = 0; i < res.length; i++) {
subMenu = subMenu + " " + res[i].lastChild.data;
}
currentSort.innerHTML = subMenu;
}
// 創(chuàng)建級(jí)聯(lián)菜單函數(shù)
function showSubMenu(obj) {
currentSort = document.getElementById(obj);
currentSort.parentNode.style.display = "";
sendRequest("menu.jsp?sort=" + obj);
}

</script>

</head>
<body>
<table style="BORDER-COLLAPSE: collapse" borderColor=#111111
cellSpacing=0 cellPadding=0 width=200 bgColor=#f5efe7 border=0>

<TR>
<TD align=middle bgColor=#dbc2b0 height=19><B>指標(biāo)操作</B> </TD>
</TR>
<tr>
<td height="20"> <a onClick="showSubMenu('A')">一級(jí)指標(biāo)A</a> </td>
</tr>
<tr style="display:none">
<td height="20" id="A"> </td>
</tr>
<tr>
<td height="20"> <a onClick="showSubMenu('B')">一級(jí)指標(biāo)B</a> </td>
</tr>
<tr style="display:none ">
<td height="20" id="B"> </td>
</tr>
</table>
</body>
</html>

menu.jsp

<%@ page contentType="text/html; charset=GBK" %>
<%
//接收瀏覽器端提交的信息
String sort=request.getParameter("sort");
String contents1="";
String contents2="";
if(sort.equals("A")){
contents1="一級(jí)指標(biāo)AA";
contents2="一級(jí)指標(biāo)AB";
}else if(sort.equals("B")){
contents1="二級(jí)指標(biāo)BA";
contents2="二級(jí)指標(biāo)BB";
}
//傳回響應(yīng)數(shù)據(jù)
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
out.println("<response>");
out.println("<res>" + contents1 + "</res>");
out.println("<res>" + contents2 + "</res>");
out.println("</response>");
out.close();
%>
OK , 代碼就這么多,十分簡(jiǎn)單.
下面簡(jiǎn)單介紹一下上面的ajax操作:

<!--[if !supportLists]-->1. <!--[endif]--> ajax技術(shù)主要由四部分組成

javascript

css

dom

XMLHttpRequest

<!--[if !supportLists]-->2. <!--[endif]--> ajax的核心對(duì)象

XMLHttpRequest

<!--[if !supportLists]-->3. <!--[endif]--> XMLHttpRequest對(duì)象的方法

void open(String method, String url, boolean async)

void send(String body)

void setHeader(String header, String value)

String getResponseHeader(String header)

String getAllResponseHeaders()

void abort()

 

<!--[if !supportLists]-->4. <!--[endif]-->XMLHttpRequest對(duì)象的屬性

返回值類型
屬性名
Number
readyState
Function
Onreadystatechange
String
responseText
XmlDocument
responseXML
Number
status
String
statusText

<!--[if !supportLists]-->5. <!--[endif]-->ajax 操作的主要步驟

⑴ 聲明一個(gè)XMLHttpRequest對(duì)象.

⑵ 調(diào)用window.open(method, url , boolean),執(zhí)行后臺(tái)操作

⑶ 對(duì)返回值進(jìn)行操作, 一般用XMLHttpRequest對(duì)象的onreadystatechange屬性.

⑷ 執(zhí)行send(body)方法.

分享:ajax跨域訪問代理文件下載(asp、php、asp.net)
最近做東西遇到了ajax跨域(cross domain)訪問的問題,最后采用了Application Proxies 方式解決,即在本域內(nèi)放置一個(gè)代理文件(視本域支持的開發(fā)語(yǔ)言選定asp、asp.net或是其他),此代理文件將url參數(shù)(QueryString)發(fā)送到目標(biāo)域?qū)?yīng)頁(yè)面獲取html代碼,然

來(lái)源:模板無(wú)憂//所屬分類:AJAX教程/更新時(shí)間:2010-02-25
相關(guān)AJAX教程