精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

很多网站的新闻详情页里底部都有一个:顶一下,踩一下,或者吐槽、支持、无语等等点击可+1,其实这个就是使用了ajax实现的,下面青岛星网跟大家分享下ASP的具体实现思路。

1、点击相应顶一下、踩几下的代码类似

response.write ("<a href='javascript:void(0)' onclick='digg("&rs("id")&",1)'>顶</a>(<span class='ding"&rs("id")&"'>"&rs("ding")&"</span>)")
response.write ("<a href='javascript:void(0)' onclick='digg("&rs("id")&",2)'>踩</a>(<span class='cai"&rs("id")&"'>"&rs("cai")&"</span>)=><a href='article.asp?id="&rs("id")&"'>内容页顶踩</a><br/>")

2、点击后调用相应的JS函数ajax传入相应的参数,范例代码如

function digg(getid,dingcai){
    //以.post方式与dingcai.asp文件交互。注意路径
    $.post('inc/dingcai.asp', { "id": getid , "dingcai": dingcai },
        function(data){
            data=data.indexOf('yang_yes')
                if(data>=0){
                if(dingcai==1){
                    //重新获取当前"顶"并加1  
                    var ding = parseInt($(".ding"+getid).html())+1;
                    //重新更新"顶"的数据入库
                    $(".ding"+getid).html(ding);
                }else{
                    //踩
                    var cai = parseInt($(".cai"+getid).html())+1;
                    $(".cai"+getid).html(cai);
                }
                alert("感谢你的支持!如果不需要js提示请删除本行代码");
            }else{
                alert("你已经投过票了!如果不需要js提示请删除本行代码");
            }
        }, "text");
}

3、传入指定的ASP文件里面实现范例代码如

mycookies=0
id = request.form("id")
dingcai = request.form("dingcai")
    if id<>"" then
        if request.cookies("mycookies"&id)<>id then
            '写入cookies,有效期24小时
            Response.cookies("mycookies"&id)=id
            Response.Cookies("mycookies"&id).expires=dateadd("H",24,now())
        else
            mycookies=1
        end if
    else            
        mycookies=1
    end if
   
'接受对应的id
'如果顶踩过来的id不为空,并且获取是顶的操作或踩的操作
if request.form("id")<>"" and request.form("dingcai")<>"" then  
   
        '如果是顶的操作
        if dingcai=1 then
            sql = "update dingcai set ding=ding+1 where id="&id
        else
            sql = "update dingcai set cai=cai+1 where id="&id
        end if
               
    if mycookies=0 then
                conn.execute(sql)
                response.write "yang_yes"
    else
                response.write "yang_no"
    end if
end if

这就完成了,列表页面与详情页面都可以类似实现。

在线Demo预览

Tags:ASP ajax