使用javascript运行ASP代码点击链接

时间:2011-08-09 12:29:32

标签: javascript ajax asp-classic

毒蛇。首先让我描述一下我想做什么。 我在我的网站上有一个部分,客户评论文章,他们可以评价我在那里使用的那些评论Via + / - 链接。当用户向上或向下评论评论时,该用户不应再对该评论进行评级。 目前我为上述问题编写了ASP经典代码,但它有点慢。因为当用户点击链接时,页面必须重新加载以添加投票。

所以,这是我的问题: 我想在asp代码后面使用Ajax代码,以防止点击+或 - 后重新加载页面。 当用户没有投票时这样的事情

<a onclick='rateup("Comment_ID","user_ID") style="cursor:pointer"> <b> + </b> </a>

然后在用户已经评分时更新为:

<a onclick='alert("You have Already Rated This Comment")' style='cursor:not-allowed;'><span> > + </span></a>

我再次使用ASP代码,但想要一个AJAX:)

1 个答案:

答案 0 :(得分:0)

在你的javascript函数rateup()中对你的经典asp站点进行ajax调用。实现必要的功能,你完成后写回“投票成功”的状态。然后在你的javascript函数中更改。

的onclick事件

对于所有这些你最好使用像jQuery这样的javascript框架。

示例代码(jQuery和经典asp):

<script>
function rateup(Comment_ID, user_ID) {
    $.post("myAspSite.asp", {ajax: true, act:"rate", direction: "up"}, function(data) {
        if( data === "" ) {
            // here comes the code for changing the onclick o the <a>
            $(#idOfClickedLink).click(function() {
                alert("You have Already Rated This Comment")
            });
        }
    });
}
</script>

<%
if request.form("ajax") = true then
    ' we have an ajax call:
    callback( request.form("act") )
else
    ' normal page processing
    call main
end if

function callback(act)
    select case act
        case "voteup"
            ' do the voteup stuff
            response.write ""
        case "votedown"
            ' do the votedown stuff
            response.write ""
    end select
end function

' "normal" page:    
function main

end function
%>