我有下面的代碼來輪詢ASP中的應用程序變量。下面的代碼是我第一次啓動頁面時的第一次意義,如果應用程序(「NFC」)= 1,setinterval函數中的IF語句將捕獲它,顯示警報,然後重新加載頁面。現在的問題是頁面正在運行,如果另一個頁面再次將Application變量設置爲1,則下面的if語句將不再觸發。如果我手動刷新頁面,它將再次工作一次。在javascript中輪詢ASP應用程序變量
我放在頭部和身體和相同的結果。
有沒有人知道爲什麼會發生這種情況,我能做些什麼來實現這個功能?
此代碼是爲了儘量減少訪問數據庫。我目前每20秒訪問一次數據庫,如果應用程序變量發生變化,這將允許我只訪問數據庫,每5秒輪詢變量。
任何幫助,非常感謝。
謝謝約翰。
<%
If request.querystring("R") = "reset" then
Application("NFC") = 0
response.redirect("test2.asp")
end if
%>
<script type="text/javascript">
setInterval(function(){
if('<%= Application("NFC")%>'== '1'){
alert('NFC has changed. This alert is for testing and is not needed in final code');
self.location='test2.asp?R=reset';
}
}, 5000);
</script>
這個值一旦離開ASP服務器就被設置成石塊,就像JS一樣。你必須在該網址中獲取新值。如果該值發生了變化,則再向數據庫添加一個ajax。 – dandavis
謝謝你的回覆......你知道AJAX中的簡單例程或任何獲取當前應用程序變量的例程。在搜索互聯網時,我正在爲會話變量找到大量的代碼,但對應用程序變量沒有任何幫助。你能指點我一些例子嗎? –