我正在爲班級製作遊戲,因爲大多數遊戲用戶需要先完成一個級別,然後才能進入下一個級別。在我的第一級我用這個If
聲明,確定是否贏得了用戶的水平下:
if (passOnLevel == 0 && passengerCarrying == 0) {
alert("You Win!");
$.post("gameL2.php", {"Level1": "Level1"});
window.location.href='gameL2.php';
}
在我gameL2.php
文件我有這個在文件的頂部:
<?php session_start(); ?>
<?php
if (isset($_POST['Level1'])) {
$_SESSION['Level1'] = $_POST['Level1'];
}
?>
的我遇到的問題是,當我使用window.location.href='gameL2.php;
時,$ _POST未設置,但是如果我刪除了window.location.href='gameL2.php;
,它不會將用戶重定向到下一級別,但當我直接訪問gameL2.php
文件時,會設置$ _POST。我怎樣才能讓用戶重定向到二級,但仍設置後變量?
_「我怎樣才能使它重定向用戶級別兩個,但仍設置後變量?「_ - 只通過發送一個_form_方法= POST。您的AJAX請求和位置更改是兩個_different_請求,後者是GET請求。 AJAX在後臺運行,所以它不會更改用戶所在的URL - 您不能同時擁有這兩個URL。 – CBroe
'$ .post'是* asynchronous *!它在後臺運行,而代碼的其餘部分仍在繼續。 'window.location.href'不會等到它完成。 –