AJAX 异域使用

 

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 >< href ="shop/"  target ="_blank" > 餐饮排行 </ a ></ span ></ li >
                        
< li  id ="DivShopPaiHang_Flag2"  onmouseover ="getPageDiv('DivShopPaiHang_Flag','2')" >< span >< href ="shop/"  target ="_blank" > 玩乐排行 </ a ></ span ></ li >
                        
< li  id ="DivShopPaiHang_Flag3"  onmouseover ="getPageDiv('DivShopPaiHang_Flag','3')" >< span >< 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()%>" >
                            
< class ="numBig l" >< span > <% #GetSCurrentNum_PaiHangParty() %> </ span ></ p >
                            
< class ="productImg l" >< 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 >< 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()%>')" >< 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 >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值