首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 向 JavaScript 傳遞參數的多種方法

     編輯:PHP 綜合知識

前言

伺服端 PHP 產生的資料需傳給前端 JS 使用,常見於內聯腳本渲染。本文整理三種實用模式。

方法一:直接內聯輸出 JS 呼叫

<?php
echo "<script>test('{$_POST['userid']}');</script> ";
// 同理適用 $_SESSION['key']
?>

方法二:輸出 JS 變數賦值

<?php
$para = "hello boby!";
echo $para; // 也可直接輸出 HTML 內容
echo "<script> var para = \"{$para}\"; alert(para); </script>";
?>

方法三:JSON 編碼傳遞複雜資料(推薦)

<?php
$data = array('id' => 123, 'name' => 'Tom', 'tags' => array('php', 'js'));
?>
<script>
var appData = ;
console.log(appData.name); // Tom
</script>

比較與建議

方法優點缺點適用場景
內聯呼叫簡單直接難以維護、易產生 XSS、字串跳脫麻煩極簡單標量傳遞
JS 變數賦值直觀同上,複雜結構需手動拼接單一變數、字串/數值
JSON 編碼結構完整、自動跳脫、前端直接用物件需注意 json_encode 選項(如 JSON_HEX_TAG 防 XSS)陣列、物件、多欄位資料

安全提醒

  • 若資料來源不可信,務必在 json_encode 加入 JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP 防止腳本注入。
  • CSP (Content-Security-Policy) 建議禁止 unsafe-inline,改用外部 JS 檔案並透過 data-* 屬性或 API 取資料。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved