การส่งค่าจาก PHP ไป Javascript

หลักในการส่งค่าจาก PHP ไปใช้ยัง Javascript นั้นก็ไม่มีอะไรยุ่งยากครับเนื่องจาก PHP นั้นทำงานก่อน Javascript อยู่แล้ว เราเพียงแค่จัดการให้ PHP echo เอาตัวแปร Javascript ออกมาเท่านั้น

มาดูแบบที่ 1 Javascript อยู่ในหน้าเดียวกันกับเว็บเพจ
<?php
  $data = 'xxx'; // ตัวแปร PHP

  echo '<script type="text/javascript">';
  echo "var data = '$data';"; // ส่งค่า $data จาก PHP ไปยังตัวแปร data ของ Javascript
  echo '</script>';
?>

<script type="text/javascript">
  alert(data); // ทดสอบแสดงตัวแปร
</script>

แบบที่ 2 ส่งค่าไปยัง Javascript ภายนอก

จริงๆแล้วเทคนิคด้านบน ก็สามารถส่งผ่านตัวแปรไปยัง Javascript ภายนอกได้เลยครับ สามารถทดสอบได้โดยการใช้ Javascript ภายนอก alert ตัวแปร data มาดูได้เลย ซึ่งเป็นไปตามกฏที่ว่า Javascript ใดๆที่ถูกเรียกใช้ภายในเพจ สามารอ้างอิงตัวแปรซึ่งกันและกันได้

แบบที่ 3 ส่งค่าไปยัง Javascript ภายนอก อีกแบบหนึ่ง

ในการเรียกใช้ Javascript ภายนอกนั้นเราสามารถ include ไฟล์ ในรูปของไฟล์ PHP ก็ได้ครับ ไม่จำเป็นต้องเป็ไฟล์ JS เสมอไป ซึ่งเทคนิคนิึมีประโยชน์หลายอย่างครับ เช่นเราสามารถใช้ PHP เพื่ออ่าน Javascript จาก Database ได้ด้วยครับ

ตัวอย่างการ include ไฟล์ javascript ภายนอกที่เห็นเป็นการ include ไฟล์ javascript ที่เป็น php เข้ามาพร้อมกับเป็นการส่งค่าตัวแปร $data ไปยังไฟล์ Javascript ด้วย และเนื่องจากไฟล์ Javascript ที่เรียกไปเป็นไฟล์ php เราจึงสามารถรับค่าตัวแปรที่เรียกไปผ่าน method $_GET ได้ด้วยครับ
<?php
  $data = 'xxx'; // ตัวแปร PHP
?>
 
<script type="text/javascript" src="test.js.php?data=<?php echo $data?>"></script>

<script type="text/javascript">
  alert(data); // ทดสอบแสดงตัวแปร
</script>

โค้ดด้านล่าง เป็นโค้ดไฟล์ test.js.php ครับ เราสามารถเขียนคำสั่งใดๆที่เป็นของ PHP ได้ครับ โดยให้ผลลัพท์ออกมาเป็น Javascript
<?php
  // test.js.php
  $data = $_GET[data];
 
  echo "var data = '$data';"; // echo คัวแปรที่ส่งมาจาก php
?>
ผู้เขียน goragod โพสต์เมื่อ 23 พ.ย. 2552 เปิดดู 51,971 ป้ายกำกับ PHPJavascript
^