AJAX 异域使用
if (!window.XMLHttpRequest)
...{
window.XMLHttpRequest = function()
...{
var xmlHttp = null;
var ex;
try
...{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
}
catch (ex)
...{
try
...{
xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
}
catch (ex)
...{
try
...{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (ex)
...{}
}
}
return xmlHttp;
}
}
function XHR(callback)
...{
switch(typeof(callback))
...{
case "function":
case "string":
break; //允许参数是 函数或字符串
default:
return null;
}
//*/
var xml_method = 0;
var http = new XMLHttpRequest();
if (http == null)
...{
//alert("创建对象失败!");
return null;
}

http.onreadystatechange = function()...{
/**//* 0: Uninitialized
1: Loading
2: Loaded
3: Interactive
4: Finished */
if(http.readyState == 4)
...{
try
...{
var ret = http.responseText; //结果
if (typeof(callback)=="function")
...{
callback(ret); //回访回调函数
}
else if(typeof(callback)=="string")
...{
var lc = callback.indexOf("(");
var rc = callback.indexOf(")");
//alert("callback: "+lc+" "+rc);
if ((lc<0)&&(rc<0))
...{
s = callback+"(ret)";
}
else
...{
var a = "";
a = (rc-lc<2)?"":",";
r = /)/g;
s = callback.replace(r ,a+"ret)");
}
//alert(s);
eval(s);
}
//http = null;
}
catch(e)
...{
//alert(e.description);
}
}
};

this.get = function(url)...{
try
...{
//alert('a');
//*
http.open('get', url, true);
http.send(null);
//*/
}
catch(e)
...{
//alert(e.description);
}
};

this.post = function(url,args)...{
try
...{
http.open('post', url, true);
http.setRequestHeader("Method", "POST " + url + " HTTP/1.1");
http.setRequestHeader("Charset","GB2312");
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//*
var arg_g_arr = args.split("&");
for(key in arg_g_arr)
...{
value_arr = arg_g_arr[key].split("=");
value_arr[1] = encodeURI(value_arr[1]);
arg_g_arr[key] = value_arr.join("=");
}
args = arg_g_arr.join("&");
//alert(args);
//*/
http.send(args);
}
catch(e)
...{
//alert(e.description);
}
};
}

_gObjByID = function(id) ...{
return document.getElementById(id);
}
//商家排行
var CurrentShopPaiHangFlag='1';
function OperatePaiHangDiv(divID)
...{
//alert(CurrentCircleFlag);
var obj=null;
var objShowPanel=null;
objShowPanel=_gObjByID("DivShopPaiHang_ShowPanel");
var shopPanel_="DivShopPaiHang_ShowPanel";
if(CurrentShopPaiHangFlag!=divID)
...{
for(var i=1;i<=3;i++)
...{
_gObjByID("DivShopPaiHang_Flag" + i).removeAttribute("className");
_gObjByID("DivShopPaiHang_Flag" + i).removeAttribute("class");
}
_gObjByID("DivShopPaiHang_Flag" + divID).className='current';
if(CurrentShopPaiHangFlag!="")
...{
//alert('CurrentCircleFlag!=""');
obj=_gObjByID("DivShopPaiHang_Flag" + divID + "_Content");
_gObjByID("DivShopPaiHang_Flag" + CurrentShopPaiHangFlag + "_Content").innerHTML=objShowPanel.innerHTML;
objShowPanel.innerHTML=GetLoadingImg();
if(obj.innerHTML == null || obj.innerHTML == "" || obj.innerHTML == GetLoadingImg())
...{//alert('GetFromAspx');
// var oXmlHttp = createXMLHttp();
// ShowDivContent('indexContent/DivShopPaiHang.aspx?Flag=' + divID,oXmlHttp,"DivShopPaiHangFlag"+divID,objShowPanel);
var x = new XHR("re_OperatePaiHangDiv('DivShopPaiHang_ShowPanel','DivShopPaiHangFlag"+divID+"')");
//alert(url);
var url = "indexContent/DivShopPaiHang.aspx?Flag=" + divID ;
x.get(url);
}
else
...{//alert('GetFromDiv');
objShowPanel.innerHTML=obj.innerHTML;
obj.innerHTML="";
}
}
else
...{
var x = new XHR("re_OperatePaiHangDiv('DivShopPaiHang_ShowPanel','DivShopPaiHangFlag"+divID+"')");
//alert(url);
var url = "indexContent/DivShopPaiHang.aspx?Flag=" + divID ;
x.get(url);
}
CurrentShopPaiHangFlag=divID;
//SwapPaiHangShopDiv('DivShopPaiHangFlag'+divID,'1');
}
}
function re_OperatePaiHangDiv(id,id2,cc)
...{
_gObjByID(id).innerHTML = cc;
SwapPaiHangShopDiv(id2,'1');
}
function SwapPaiHangShopDiv(DivKey,ID)
...{//DivS1 DivB1
for(var i=1;i<=9;i++)
...{
_gObjByID(DivKey + '_S' + i).style.display='';
_gObjByID(DivKey + '_B' + i).style.display='none';
}
_gObjByID(DivKey + '_S' + ID).style.display='none';
_gObjByID(DivKey + '_B' + ID).style.display='';
ShowImg("Img_"+DivKey+"_"+ID,"ImgSrc_"+DivKey+"_"+ID);
}
function GetLoadingImg()
...{
var ImgHtml;
ImgHtml='<div align="center">';
ImgHtml=ImgHtml+'<span><img src="indexImage1/loading.gif" alt="loading...." /></span>'
ImgHtml=ImgHtml+'</div>';
return ImgHtml;
}
INDEX.ASPX
<div class="hotShop sort1 block yspace" id="DivShopPaiHang_Food">
<div class="title">
<span class="b1tl l"></span>
<ul>
<li id="DivShopPaiHang_Flag1" onmouseover="getPageDiv('DivShopPaiHang_Flag','1')" class="current" ><span><a href="shop/" target="_blank">餐饮排行</a></span></li>
<li id="DivShopPaiHang_Flag2" onmouseover="getPageDiv('DivShopPaiHang_Flag','2')"><span><a href="shop/" target="_blank">玩乐排行</a></span></li>
<li id="DivShopPaiHang_Flag3" onmouseover="getPageDiv('DivShopPaiHang_Flag','3')"><span><a href="shop/" target="_blank">购物排行</a></span></li>
</ul>
<span class="b1tr r"></span>
</div>
<div id="DivShopPaiHang_Flag1_Content" class="txt" style="display:none;"></div>
<div id="DivShopPaiHang_Flag2_Content" class="txt" style="display:none;"></div>
<div id="DivShopPaiHang_Flag3_Content" class="txt" style="display:none;"></div>
<div id="DivShopPaiHang_ShowPanel" class="txt" style="height:265px;">
<div class="txt11">
<ul>
</ul>
</div>
</div>
<span class="bbl"><span class="bbr"></span></span>
</div>
DivShopPaiHang.aspx.cs
int SCurrentNum_PaiHangParty = 1;
int BCurrentNum_PaiHangParty = 1;
public string Flag = "1";
protected void Page_Load(object sender, EventArgs e)
...{
Flag = Request.QueryString["Flag"];
if (Flag != null && Flag != "" && BaDa.Comm.Components.Function.IsIntNumberic(Flag))
...{
DataSet DSPaiHang_Party = GetShopPHRs(Flag);
lstPaiHang_Party.DataSource = DSPaiHang_Party.Tables[0].DefaultView;
lstPaiHang_Party.DataBind();
DSPaiHang_Party.Dispose();
}
}
//娱乐排行
public string GetSCurrentNum_PaiHangParty()
...{
return SCurrentNum_PaiHangParty.ToString();
}
public string GetBCurrentNum_PaiHangParty()
...{
return BCurrentNum_PaiHangParty.ToString();
}
protected void lstPaiHang_Party_ItemDataBound(object sender, RepeaterItemEventArgs e)
...{
SCurrentNum_PaiHangParty = SCurrentNum_PaiHangParty + 1;
BCurrentNum_PaiHangParty = BCurrentNum_PaiHangParty + 1;
}
public string GetFlag()
...{
return Flag;
}
//获得排行商家Dataset
private DataSet GetShopPHRs(string VFlag)
...{
BaDa.BLL.Shop_Com BllShop = new BaDa.BLL.Shop_Com();
string VSqlWhere = "ClassID=" + VFlag + " and CityCode='" + GetCurrentCityCode() + @"' and lower(Img)<>'shopempty.jpg' Order by Support desc";
return BllShop.GetListByWhere(9, VSqlWhere);
}
DivShopPaiHang.aspx

<%...@ OutputCache Duration="30" VaryByParam="Flag" %>
<div class="txt11">
<ul>
<asp:Repeater ID="lstPaiHang_Party" runat="server" EnableViewState="False" OnItemDataBound="lstPaiHang_Party_ItemDataBound">
<ItemTemplate>
<li class="num11 more" style="display:none" id="DivShopPaiHangFlag<%#GetFlag()%>_B<%#GetSCurrentNum_PaiHangParty()%>">
<p class="numBig l"><span><%...#GetSCurrentNum_PaiHangParty()%></span></p>
<p class="productImg l"><a href="shop/spShow_<%# DataBinder.Eval(Container.DataItem, "ID")%>.html" target="_blank" title="<%...# DataBinder.Eval(Container.DataItem, "ShopName")%>"><img id="Img_DivShopPaiHangFlag<%#GetFlag()%>_<%#GetSCurrentNum_PaiHangParty()%>" alt="<%# DataBinder.Eval(Container.DataItem, "ShopName")%>" width="50" height="50"/></a></p>
<div class="productInfo">
<h3><a href="shop/spShow_<%# DataBinder.Eval(Container.DataItem, "ID")%>.html" target="_blank" title="<%...# DataBinder.Eval(Container.DataItem, "ShopName")%>"><%...# PLeft(DataBinder.Eval(Container.DataItem, "ShopName"),10)%></a></h3>
<p>标签:<%...# ShowTags(DataBinder.Eval(Container.DataItem, "Tags"))%></p>
</div>
<div id="ImgSrc_DivShopPaiHangFlag<%#GetFlag()%>_<%#GetSCurrentNum_PaiHangParty()%>" style="display:none"><%...# AdjustImgPath(DataBinder.Eval(Container.DataItem, "Img"))%></div>
<span class="cf"></span>
</li>
<li id="DivShopPaiHangFlag<%#GetFlag()%>_S<%#GetSCurrentNum_PaiHangParty()%>" class="num<%#GetSCurrentNum_PaiHangParty()%> listHeight" onmouseover="SwapPaiHangShopDiv('DivShopPaiHangFlag<%#GetFlag()%>','<%#GetSCurrentNum_PaiHangParty()%>')"><a href="shop/spShow_<%# DataBinder.Eval(Container.DataItem, "ID")%>.html" target="_blank" title="<%...# DataBinder.Eval(Container.DataItem, "ShopName")%>"><%...# PLeft(DataBinder.Eval(Container.DataItem, "ShopName"),18)%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
AJAX异步请求示例

被折叠的 条评论
为什么被折叠?



