今天 寫個(gè)很簡(jiǎn)單的功能只當(dāng)是一個(gè)小結(jié)。
點(diǎn)擊量的基本流程都是這樣的:在點(diǎn)鏈接的時(shí)候,先轉(zhuǎn)到你設(shè)定的一個(gè)統(tǒng)計(jì)地址,然后重定向到真實(shí)地址。
通過ajax來實(shí)現(xiàn)這個(gè)流程。以實(shí)現(xiàn)友情鏈接和廣告公用這個(gè)功能。
先說說后臺(tái)代碼部分
首先是友情鏈接部分的,他是有后臺(tái)代碼生成HTML代碼如下
_GoodLink1.Append("·").Append(dr["LJMC"]).Append("");
然后是廣告部分,廣告部分是由代碼生成動(dòng)態(tài)js再由頁面引用js顯示廣告,下面是關(guān)鍵代碼;
sb.Append("’ target=’_blank’ onclick=");sb.Append(""javascript:UpdateTraffs(’AD_TAB’,’GGID’," + dv.Table.Rows[k]["GGID"] + ",’DJCS’)");sb.Append("">");
這個(gè)里面最重要的是這個(gè)變量符的使用,這樣以保證在js中是以onclick="javascript:UpdateTraffs’AD_TAB’,’GGID’,1,’DJCS’)"的形式
中間數(shù)據(jù)參數(shù)的傳遞的關(guān)鍵就是js代碼如下
function UpdateTraffs(tabName,mainkey,keyValue,column)//要驗(yàn)證的控件ID,驗(yàn)證的結(jié)果,驗(yàn)證的類型email|user
{
var http_request;
if (window.XMLHttpRequest)
{//對(duì)于Mozilla、Netscape、Safari等瀏覽器,創(chuàng)建XMLHttpRequest對(duì)象
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// 對(duì)于Internet Explorer瀏覽器,創(chuàng)建XMLHttpRequest
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{}
}
}
http_request.open("POST","/Function/Traffic.aspx?_tabName="+tabName+"&&_mainkey="+mainkey+"&&_keyValue="+keyValue+"&&_column="+column+"",false);
http_request.send();
}
再就是另一個(gè)執(zhí)行頁面這里面的代碼很簡(jiǎn)單就不寫了。
最后附帶一個(gè)存儲(chǔ)過程如下
CREATE PROCEDURE PRO_Traffic_Update---更新點(diǎn)擊量
@TabName varchar(30),
@MainKey nvarchar(20),
@KeyValue VARCHAR(20),
@Column varchar(4)
AS
declare @sqlStr varchar(100)
SET @sqlStr=’UPDATE ’+@TabName+’ SET ’+@Column+’=’+@Column+’+1 where ’+@MainKey+’=’’’+@KeyValue+’’’’
exec(@sqlStr)
點(diǎn)擊量的基本流程都是這樣的:在點(diǎn)鏈接的時(shí)候,先轉(zhuǎn)到你設(shè)定的一個(gè)統(tǒng)計(jì)地址,然后重定向到真實(shí)地址。
通過ajax來實(shí)現(xiàn)這個(gè)流程。以實(shí)現(xiàn)友情鏈接和廣告公用這個(gè)功能。
先說說后臺(tái)代碼部分
首先是友情鏈接部分的,他是有后臺(tái)代碼生成HTML代碼如下
_GoodLink1.Append("·").Append(dr["LJMC"]).Append("");
然后是廣告部分,廣告部分是由代碼生成動(dòng)態(tài)js再由頁面引用js顯示廣告,下面是關(guān)鍵代碼;
sb.Append("’ target=’_blank’ onclick=");sb.Append(""javascript:UpdateTraffs(’AD_TAB’,’GGID’," + dv.Table.Rows[k]["GGID"] + ",’DJCS’)");sb.Append("">");
這個(gè)里面最重要的是這個(gè)變量符的使用,這樣以保證在js中是以onclick="javascript:UpdateTraffs’AD_TAB’,’GGID’,1,’DJCS’)"的形式
中間數(shù)據(jù)參數(shù)的傳遞的關(guān)鍵就是js代碼如下
function UpdateTraffs(tabName,mainkey,keyValue,column)//要驗(yàn)證的控件ID,驗(yàn)證的結(jié)果,驗(yàn)證的類型email|user
{
var http_request;
if (window.XMLHttpRequest)
{//對(duì)于Mozilla、Netscape、Safari等瀏覽器,創(chuàng)建XMLHttpRequest對(duì)象
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// 對(duì)于Internet Explorer瀏覽器,創(chuàng)建XMLHttpRequest
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{}
}
}
http_request.open("POST","/Function/Traffic.aspx?_tabName="+tabName+"&&_mainkey="+mainkey+"&&_keyValue="+keyValue+"&&_column="+column+"",false);
http_request.send();
}
再就是另一個(gè)執(zhí)行頁面這里面的代碼很簡(jiǎn)單就不寫了。
最后附帶一個(gè)存儲(chǔ)過程如下
CREATE PROCEDURE PRO_Traffic_Update---更新點(diǎn)擊量
@TabName varchar(30),
@MainKey nvarchar(20),
@KeyValue VARCHAR(20),
@Column varchar(4)
AS
declare @sqlStr varchar(100)
SET @sqlStr=’UPDATE ’+@TabName+’ SET ’+@Column+’=’+@Column+’+1 where ’+@MainKey+’=’’’+@KeyValue+’’’’
exec(@sqlStr)