Javascript 发送jquery ajax$.post后获取连接重置
我正在用php、jquery和ajax制作一个游戏大厅。 我让php回显一个字符串,它是一个jquery循环,将ajax$.post发送到另一个页面,检查是否有人加入了玩家游戏,是否有新用户在线,并让当前游戏加入。如果有,我用新数据填充页面上的div 这是循环Javascript 发送jquery ajax$.post后获取连接重置,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在用php、jquery和ajax制作一个游戏大厅。 我让php回显一个字符串,它是一个jquery循环,将ajax$.post发送到另一个页面,检查是否有人加入了玩家游戏,是否有新用户在线,并让当前游戏加入。如果有,我用新数据填充页面上的div 这是循环 <script> $(function() { getPage = function() { // this gets all current games users are t
<script>
$(function() {
getPage = function() {
// this gets all current games users are trying to start up
$.post("lobbyClasses.php",
{
lobbyRequest: "getGames",
},
function(data, status){
if(status == "success"){
$("#joinGameContainer").html(data);
// this gets all online users and puts themin a div onlineUsers
$.post("lobbyClasses.php",
{
lobbyRequest: "getOnlineUsers",
},
function(data, status){
if(status == "success"){
$("#onlineUsers").html(data);
// start it again;
setTimeout(function(){
getPage();
}, 5000);
}else{
// get all online users failed start loop again
$("#onlineUsers").html("failed...");
setTimeout(function(){
getPage();
}, 5000);
}
});
}else{
//get all games failed start loop again
$("#joinGameContainer").html("failed...");
setTimeout(function(){
getPage();
}, 5000);
}
});
}
getPage();
});
</script>
因此,我认为用文本替换循环然后发送帖子会有所帮助,它确实起到了一点作用,但有时我仍然会重置浏览器错误连接。我不确定我做错了什么,请帮助。我发现我的代码中发生了什么。PHP只允许在一个页面上使用如此多的post VAR来防止拒绝服务攻击。我发的帖子太多了。我还意识到,我试图用ajax更新的每件事都可以用一篇文章而不是4篇嵌套的文章来更新。数据处理可以在服务器端完成。如果你在一个页面上写了几篇文章,那你就做错了。正确的代码如下:
function myTimer() {
$.post("lobbyClasses.php",
{
lobbyRequest: "getContent1",
},
function(data, status){
if(status == "success"){
$("#lobbyContent").html(data);
}else{
$("#lobbyContent").html("failed...");
}
});
}
myTimer();
var myVar = setInterval(function(){ myTimer() }, 5000);
function myStopFunction() {
clearInterval(myVar);
}
我们不是字符串解析器,不是允许语法高亮显示的后格式化代码。还可以将问题缩小到代码的特定部分。真的不清楚你的问题是什么。定义连接重置的含义我的编辑是否有助于您更好地理解我的问题谢谢您的帮助我是堆栈溢出新手这是我问的第一个问题
function myTimer() {
$.post("lobbyClasses.php",
{
lobbyRequest: "getContent1",
},
function(data, status){
if(status == "success"){
$("#lobbyContent").html(data);
}else{
$("#lobbyContent").html("failed...");
}
});
}
myTimer();
var myVar = setInterval(function(){ myTimer() }, 5000);
function myStopFunction() {
clearInterval(myVar);
}