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