我尝试从客户端调用一个简单的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
%>
确保Application对象已在global.asa文件中初始化。 https://www.w3schools.com/asp/asp_globalasa.asp
还要在写入之前锁定 Application 对象,然后再次解锁。