我是PHP新手,想要弄清楚我確定的基本知識。我想要做的是在JavaScript中生成變量,並將這些傳遞給PHP頁面,然後加載並顯示。問題是,我似乎能夠將POST變量同時加載到PHP頁面並加載PHP頁面,但無法使用我發佈的變量加載PHP頁面。如何使用javascript傳遞的變量加載PHP頁面
這裏是我的代碼示例: 的index.php
...
<script language="javascript">
function passToPHP(){
$.ajax({
type: "POST",
url: "/TraceExperiment/TraceExperiment.php",
data: {
varToPass: "foo"
},
success: function(){
window.location.href="/TraceExperiment/TraceExperiment.php";
}
})
}
</script>
<input type="button", value="displayPHP", onclick="passToPHP()"></input>
TraceExperiment.php
<?php
$tempVar = $_POST["varToPass"];
echo("hello" . $tempVar);
print_r($_POST);
?>
當我點擊displayPHP是,AJAX POST成功, TraceExperiment發生了什麼。 PHP加載罰款(它實際上有一堆其他的HTML,PHP等代碼加載和顯示正常,但爲簡單起見,我排除了這一點),但$ _POST數組似乎是空的。 即什麼結束了當我嘗試回聲和打印POST陣列和變量被顯示爲:
說明:未定義指數:varToPass在C:\ XAMPP \ htdocs中\ TraceExperiment \ TraceExperiment.php 3 線helloArray()
任何幫助解決這個將不勝感激。最終,我簡單地通過一種方式來顯示使用從JavaScript文件傳遞的變量的PHP頁面。
檢查你的概念POST請求,'varToPass'被作爲'POST'參數傳遞,但是當你重定向用戶,你怎麼期待'varToPass'在場 ?在'成功'回調中,如果@Cam想要重定向到同一頁面並使用'varToPass'的值進行操作(而不僅僅是打印),$ _SESSION也可以用在TraceExperiment上,那麼你會發現'processed html' – Rayon