Javascript ajax中的响应值重叠
我正在制作一个需要多个Ajax请求的应用程序。但问题是,对于这两个Ajax请求,我得到的响应值是相同的。 在每个请求中都需要一个名为Javascript ajax中的响应值重叠,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在制作一个需要多个Ajax请求的应用程序。但问题是,对于这两个Ajax请求,我得到的响应值是相同的。 在每个请求中都需要一个名为activityCode的数据,但这样做的话,即使在heartbeat函数中,我也会不断得到ScoreBoardResponse的值。如果我将activityCode中的任何一个重命名为任何其他名称,问题就会得到解决。但为什么会发生这种情况 以下是代码: JS var allJoined = false; var roomName = $('#room').
activityCode
的数据,但这样做的话,即使在heartbeat函数中,我也会不断得到ScoreBoardResponse
的值。如果我将activityCode
中的任何一个重命名为任何其他名称,问题就会得到解决。但为什么会发生这种情况
以下是代码:
JS
var allJoined = false;
var roomName = $('#room').val();
var playerNameSet = function () {
if(!allJoined) {
$.ajax({
type: "POST",
url: "gameEngine/app.php",
data: {
activityCode: 1,
room: roomName
},
success: function (ScoreBoardResponse) {
var obj = JSON.parse(ScoreBoardResponse);
var count = Object.keys(obj).length;
if (count == 1) {
playerOne_name.html(obj.p1_name);
setTimeout(playerNameSet, 3000);
}
else if (count == 2) {
playerOne_name.html(obj.p1_name);
playerTwo_name.html(obj.p2_name);
allJoined = true;
//Start the heartbeat to check if the other player is alive
setTimeout(startHeartbeat, 15000);
clearTimeout(playerNameSet);
}
},
error: function (error) {
console.log(error);
}
});
}
};
setTimeout(playerNameSet, 3000);
function startHeartbeat() {
$.ajax({
type: "POST",
url: "gameEngine/app.php",
data: {
activityCode: 2,
room: roomName
},
success: function(beat) {
console.log(beat);
},
error: function(error) {
console.log(error);
}
});
setTimeout(startHeartbeat, 15000);
}
PHP
.
.
.
elseif (isset($_POST['activityCode']) == 1 && isset($_POST['room'])) {
$response = $gameHandler->getPlayerOrder($_POST['room']);
echo $response;
}
elseif (isset($_POST['activityCode']) == 2 && isset($_POST['room'])) {
echo "request reached here";
}
如果POST变量存在或不存在,则返回true
或false
。它不返回变量值,您需要在您的条件中添加另一个检查:
elseif (isset($_POST['activityCode']) && $_POST['activityCode'] == 1 && isset($_POST['room'])) {
$response = $gameHandler->getPlayerOrder($_POST['room']);
echo $response;
}
elseif (isset($_POST['activityCode']) && $_POST['activityCode'] == 2 && isset($_POST['room'])) {
echo "request reached here";
}