JavaScript是客戶端。 PHP是服務器端的。他們可以以某種方式說話,但並不總是那麼容易。
要在JavaScript中使用PHP變量,我必須說,簡單的方法是:
var phpVar = "<?php echo $myVar; ?>";
或者,通過呼應:
echo "var phpVar = '{$myVar}';";
但是,你很快就會意識到這將是印有點像一個常數。這隻能在頁面的渲染上完成,所以它有點有限。這真的是一樣,如果$myVar
包含5
,直接寫:
var phpVar = "5";
的結果是一樣的。在JavaScript中使用PHP var的另一種方法是使用AJAX - 獲取它。例如,使用jQuery:
$.get("/page_that_sends_my_var.php", { }, function(res) {
var phpVar = res;
});
通過具有page_that_sends_my_var.php
是這樣的:
<?php
echo $myVar;
但是,這將是異步的。所以,你有兩種不同的方法用於兩種不同的目的。第一個是同步的,只在頁面渲染時才起作用;第二個可以通過異步調用來工作。我可能總是使用第二種方法;它更加優雅,而且AJAX可以很好地執行/具有:它使您的應用程序更具動態性。
至於在PHP中使用Javascript變量,你也可以用兩種方法來完成。第一個是在表單提交期間使用表單並在表單數據中包含變量;另一個(我更喜歡)是使用AJAX調用PHP腳本,併發送變量。就像這樣:
$.post("page_that_uses_my_var.php", { "myVar" : myVar }, function(res) {
// do something if you like
});
然後,在page_that_uses_my_var.php
:
<?php
$jsVar = $_POST["myVar"];
你永遠不應該直接從PHP輸出到JavaScript。 PHP數據中的一個'''或其他JS-元字符,並且你用語法錯誤殺死了你的JS塊。總是通過'json_encode()'輸出,所以你至少可以生成有效的JS。 –