很多人剛開始練習架設網站時,都會有個問題
php 跟 javascript 要怎麼互相溝通傳遞資訊呀?
背後的理論有點複雜,讓我們直接來看個小例子:
假設你寫了下面這段php code
<?php
$name = "Jason";
echo "<Script>";
echo "var js_var=' ".$name.' ";
echo "/<Script>";
?>
當這段code從server傳到各個終端機的browser時,會變成以下這段 javacript:
<Script>
var name = 'Jason';
</Script>
要記住!! javascript 只有在傳到瀏覽器 (IE, safari, chrome),被瀏覽器解讀之後,
才開始它身為程式的生命旅程,在server還沒傳出來時,只不過是一堆靜態文字罷了(跟HTML一樣)。
所以,你可以盡情狂用php去產生你之後想在瀏覽器上面執行的JS啦,隨便你玩!!
可是至於反向由 JS 傳向 php 呢?是完全沒有辦法的喔~
但是其實你還是可以透過標準的GET(直接將參數嵌在URL後面) or POST(藉由表單發送)方法來實現喔,
也就是藉由JS去動態的改變以上兩種方法的傳遞值(當然是送出去以前XD),這就是所謂的間接傳遞
以下是一個小例子:
<Script>
var name = 'Jason';
var url='send_message.php?' + 'name='+name;
document.location=url;
document.location.reload();
</Script>
將 name 傳給存放在server裡的php檔,然後再由php做之後的後續處理。