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);
}
... {
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;
}
... {
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 >
< 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);
}
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 >
< 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 >