Asp classic (ASP经典)停止/阻止其余代码的执行,而不中断Javascript执行

Asp classic (ASP经典)停止/阻止其余代码的执行,而不中断Javascript执行,asp-classic,session,merge,Asp Classic,Session,Merge,我遇到了一个与中的问题类似的问题,我缺少想法,因此我非常感谢您的帮助 事情是这样的: 我们有一个ASP应用程序,它使用会话变量,并且必须处理由于多任务(IE8)而导致的会话合并 经过多次尝试,我实现了以下功能: 我在客户端为每个浏览器的选项卡设置一个ID(我使用的是) 为了使它从服务器端可用(因为我找不到任何其他方法),我将它保存在cookie中并重新加载页面 最后,在我的ASP页面上,我从cookie中获取这个ID,并将它用作应用程序上所有会话变量的前缀 这里有一个简短的例子 Javascri

我遇到了一个与中的问题类似的问题,我缺少想法,因此我非常感谢您的帮助

事情是这样的: 我们有一个ASP应用程序,它使用会话变量,并且必须处理由于多任务(IE8)而导致的会话合并

经过多次尝试,我实现了以下功能:

  • 我在客户端为每个浏览器的选项卡设置一个ID(我使用的是)

  • 为了使它从服务器端可用(因为我找不到任何其他方法),我将它保存在cookie中并重新加载页面

  • 最后,在我的ASP页面上,我从cookie中获取这个ID,并将它用作应用程序上所有会话变量的前缀

  • 这里有一个简短的例子

    Javascript(在每个asp文件的开头插入)

    LoadJs();
    //Cookie和TabID处理程序
    函数LoadJs()
    {
    if(getInternetExplorerVersion()


    我很自豪终于找到了解决这个问题的方法,但我意识到当一个页面执行post操作时,所有ASP代码都会被呈现(前缀ID错误)并执行(包括数据库操作)在右选项卡ID可以在cookie上更新之前,页面可以通过javascript重新加载。我的意思是,我所有的页面代码都被执行了两次,一次在刷新之前,一次在刷新之后…:-|

    是否有人认为可以像Response.End()一样实现smthg以阻止ASP执行其余代码,如果我可以确定我必须刷新页面而不同时终止javascript执行?或者在页面上的任何其他操作之前等待所有javascript执行

    我被困在这里,不得不停在这里让我哭泣!一定有一个解决方案……如果我能找到一个解决方案,它将应用于许多ASP(3.0)应用程序,这些应用程序在至少3到5年前不会升级到ASP.NET


    提前感谢,

    我不明白你们为什么这么做,但我会使用ajax来设置会话变量,而不是重新加载整个页面

    ok,例如jquery:

    // AJAX Request
    $.post("session.asp", { act: "setSession", varName: "myVar", varValue: "myVal" },
      function(data) {
        alert("new Session value: " + data);
    });
    
    然后在session.asp上:

    if request.form("act") = "setSession" then
        session(request.form("varName")) = request.form("varValue")
        ' now you have the new value in Session:
        ' 
        response.write Session("myVar")
    end if
    

    希望这有帮助

    如果可能的话,另一种让我高兴的方法是在页面上执行ASP脚本之前捕获每个更新cookie的请求!!:-)…有人吗?这意味着没有其他事情要做了?…'(嗨,ulluoink,谢谢你的回复……这可能是一个有趣的方法,但我必须承认我不知道如何实现它……我可以使用jQuery进行镜像,但是我如何更新会话变量?我将操作ASP(而不是.NET)会话……你认为这可能吗?
    // AJAX Request
    $.post("session.asp", { act: "setSession", varName: "myVar", varValue: "myVal" },
      function(data) {
        alert("new Session value: " + data);
    });
    
    if request.form("act") = "setSession" then
        session(request.form("varName")) = request.form("varValue")
        ' now you have the new value in Session:
        ' 
        response.write Session("myVar")
    end if