因此,目前我有一个系统可以从SQl数据库中提取数据,并以单独的计数显示详细信息。
例如,总票证,支持票证,客户票证等。
仅当用户重新加载页面或导航到系统的另一部分时,才更新此数据。
我希望对整个系统进行改造,以使数据始终有效,而不是用户需要重新加载页面。
我一直在研究JQuery和AJAX,但是我发现的所有信息仍然需要用户输入。
因此,我将为您提供一些建议或链接,以介绍如何设置不需要用户输入的系统,而是每隔X秒提取一次数据并更新页面而不刷新页面。
然后,我还希望能够扩展此功能,以便在记录新票证等时显示页内警报。
答案 0 :(得分:2)
“我找到的所有信息仍然需要用户输入。”
...不确定您一直在阅读什么,但是不,您可以设置超时或时间间隔,以便定期进行固定的AJAX调用,以获取最新数据,而无需用户干预。
这是一个演示。在这种情况下,它每次都会从静态源中追加相同的数据,但是如果您的源返回后台正在更新的数据库数据,那么您可能想要替换已经存在的数据而不是追加。这是一个小细节,但值得澄清。
//when called, this will make an AJAX call and append data from the response to the "content" div
function getData() {
$.ajax({
method: "GET",
url: "https://api.myjson.com/bins/df42s",
dataType: "json"
}).done(function(response) {
$("#content").append("<br/>" + response.name);
});
}
//initial fetch of the data
getData();
//then set the same function to run at 5 second intervals:
var interval = setInterval(getData, 5000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
请注意不要将时间间隔设置得太频繁,否则您的服务器可能会过载,并且/或者发现一个AJAX调用在下一个调用之前尚未完成。这两种情况都不是很理想的。
有关setInterval的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval