ASP经典无法通过ajax请求更改应用程序中的数据

问题描述 投票:0回答:1

我尝试从客户端调用一个简单的ajax请求到服务器端,但我遇到了问题

当我按下按钮时,即使我得到了

alert("OK!");
,此页面也没有任何变化,例如,如果我的
Application("bbb")
51
,我总是得到
OK!
,然后是
51

只有当我刷新页面时,我才能看到按钮中的所有更改,例如,如果按按钮 8 次,

Application("bbb")
51
我收到了 8 次警报

OK!
,然后是
51
<label id="lbl"></label>
没有任何变化,它的文本中仍然有51,当我刷新页面时,我在文本中得到了
<label id="lbl"></label>
0 下一次单击后,我将
<label id="lbl"></label>
更改为 61

这意味着ajax请求获取了服务器并按预期更改了Application(“bbb”)中的值,但我无法在不刷新页面的情况下更改html视图

为什么会这样?

这是我的简单代码:

<html>
    <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <meta charset="utf-8">
    </head>
    <body>
 <button id="changeSessionBtn">Change Session Variable</button>
  <label id="lbl">0</label>
 <script>
        $(document).ready(function(){
            $('#changeSessionBtn').click(function(){
                $.ajax({
                    type: 'POST',
                    url: 'http://localhost/home.asp', 
                    data: { newSessionValue: 'newValue' },
                    success: function(response){
                       document.getElementById('lbl').innerHTML = <%=Application("bbb")%>
                       alert("OK!");
                       alert(<%=Application("bbb")%>);
                       //$("lbl").innerHTML = 
                    },
                    error: function(xhr, status, error){
                        console.error('Error changing session variable:', error);
                    }
                });
            });
        });
    </script>

    </body>
</html>


<%

if IsEmpty(Application("bbb")) then
    Application("bbb") = 1
Else
    Application("bbb") = Application("bbb") + 1
end if

%>
jquery ajax asp-classic
1个回答
0
投票

确保Application对象已在global.asa文件中初始化。 https://www.w3schools.com/asp/asp_globalasa.asp

还要在写入之前锁定 Application 对象,然后再次解锁。

© www.soinside.com 2019 - 2024. All rights reserved.