每秒使用 Ajax 请求有多安全
How safe it is to use Ajax request for every second
我创建了一个聊天室,它使用 ajax 请求通过使用 setTimeOut 函数每秒检查一次新消息,我实现了这一点,但我唯一的问题是,在之后从服务器请求数据是否可以每一秒?或者它可能会导致一些问题?下面是我的代码:
function refresh(){
setTimeout(function(){
$.ajax({
type: 'POST',
url: 'checkNewMessage.php',
data: { sender:$sender, recipient:$recipient},
success: function(response) {
$('#newComm').val(response);
if($('#newComm').val()>$('#oldComm').val()){
$.ajax({
type: 'POST',
url: 'appendNewMessage.php',
data: { sender:$sender, recipient:$recipient},
success: function(response) {
$("#chatRoom").prepend(response).fadeIn(4000);
$('#oldComm').val($('#newComm').val());
}
});
}else{}
}
});
refresh();
},1000);
}
好吧,这是一个取决于答案的问题。
使用定时请求轮询服务器并不是实现您想要实现的目标的最佳方式。在这个地方我推荐使用 WebSockets:https://developer.mozilla.org/en-US/docs/Glossary/WebSockets
但是回到你的问题。这取决于您的服务器及其要承担的负载。假设您有十个活跃用户。所以你的服务器每秒大约需要 10 个请求——不会太多。
您可以 运行 一个基准测试,看看您的服务器每秒可以处理多少请求。但是处理请求不同于回答每个请求。
如果您的聊天中没有那么多用户,您可能会接受这种方法。对于更大的负载,我强烈建议切换到 WebSockets。
我创建了一个聊天室,它使用 ajax 请求通过使用 setTimeOut 函数每秒检查一次新消息,我实现了这一点,但我唯一的问题是,在之后从服务器请求数据是否可以每一秒?或者它可能会导致一些问题?下面是我的代码:
function refresh(){
setTimeout(function(){
$.ajax({
type: 'POST',
url: 'checkNewMessage.php',
data: { sender:$sender, recipient:$recipient},
success: function(response) {
$('#newComm').val(response);
if($('#newComm').val()>$('#oldComm').val()){
$.ajax({
type: 'POST',
url: 'appendNewMessage.php',
data: { sender:$sender, recipient:$recipient},
success: function(response) {
$("#chatRoom").prepend(response).fadeIn(4000);
$('#oldComm').val($('#newComm').val());
}
});
}else{}
}
});
refresh();
},1000);
}
好吧,这是一个取决于答案的问题。
使用定时请求轮询服务器并不是实现您想要实现的目标的最佳方式。在这个地方我推荐使用 WebSockets:https://developer.mozilla.org/en-US/docs/Glossary/WebSockets
但是回到你的问题。这取决于您的服务器及其要承担的负载。假设您有十个活跃用户。所以你的服务器每秒大约需要 10 个请求——不会太多。
您可以 运行 一个基准测试,看看您的服务器每秒可以处理多少请求。但是处理请求不同于回答每个请求。
如果您的聊天中没有那么多用户,您可能会接受这种方法。对于更大的负载,我强烈建议切换到 WebSockets。