簡體   English   中英

將 PHP 變量傳遞給 JS

[英]pass PHP Variable to JS

這個問題中使用的方法是錯誤的。 正如評論中提到的,PHP 是服務器端處理,JS 是客戶端處理(瀏覽器)。 2 不能混用。

似乎是一個看似簡單的解決方案的微不足道的問題。 我有一個通過帖子加載的 PHP 文件。 在本文檔中,我可以檢索發布的值,如下所示:

$userid = $_POST["userid"];

然后在$(document).ready(function() Javascript 中,我試圖將 post 值分配給 Javascript 變量,如下所示:

var jsvariable = <?php echo($_POST["userid"])?>;

保持在 js 錯誤或語法錯誤中未定義的變量PHP 中的意外 T_VARIABLE錯誤。

請告知我如何成功檢索此值。

為此,有兩種方法:

首先,如果您的 js 存在於 php 文件中,那么在這種情況下。

var jsvariable = "<?php echo $_POST["userid"]; ?>";

如果您的 js 存在於 .js 文件中,那么在這種情況下。

var jsvariable2 = "<?php echo $_POST["userid"]; ?>";

在這條線之下。 調用js文件。

<script src="whatever.js" type="text/javascript">

並在 js 內部將上面創建的變量分配給它:

var jsvariable = jsvariable2;

希望能幫助到你。

嘗試

var jsvariable = <?php echo('\"'.$_POST["userid"].'\"')?>;

反而

var jsvariable = <?php echo($_POST["userid"])?>;

如果 userid="ehdrbs0318" 在 php 中,在 javascript 中

var jsvariable = ehdrbs0318;

你必須像這樣分配字符串

var jsvariable = "ehdrbs0318";

你可以使用json_encode

var jsvariable = <?php echo json_encode($_POST["userid"]) ?>;

如果 PHP 變量是字符串,這將添加必要的引號,但也會很好地響應非字符串值。

附帶說明:您可以使用 PHP 快捷表示法來輸出值:

var jsvariable = <?= json_encode($_POST["userid"]) ?>;

PHP錯誤

您(有時)得到的 PHP 中的unexpected T_VARIABLE錯誤與您提供的代碼無關:這是一個簡單的語法錯誤,這意味着解析器在意外的地方發現了一個變量名。 也許你忘記用分號結束前一個語句,或者你忘記了右括號或括號......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM