亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將普通變量的值從 PHP 發送到 JavaScript?

如何將普通變量的值從 PHP 發送到 JavaScript?

HUX布斯 2023-04-27 16:12:24
我的文件中有以下代碼test.php。該代碼主要有一個在 PHP 中定義的變量,我想將它發送到 JavaScript 函數以便它可以 POST。這是代碼:<!DOCTYPE html><html><head>  <title>Payment Receipt</title></head><body><?php...if($row) {    $myValue = 'Hi there!'; //the PHP variable (currently has a sample value, but will be string only)    //JS starts        echo <<<JS001    <script type="text/javascript">    var msg = {$myValue}; //trying to set it to a JS var, so I could send it to below function.    var ThunkableWebviewerExtension = {        postMessage: function (message) {            if (window.ReactNativeWebView) {                window.ReactNativeWebView.postMessage(message);            } else {                window.parent.postMessage(message, '*');            }        }    };        ThunkableWebviewerExtension.postMessage(msg);    console.log(msg);    alert('Message Sent');    </script>JS001;    } else {    echo 'Incorrect Value';}?></body></html>但是當我運行這段代碼時,我在控制臺上收到了這個錯誤:Uncaught SyntaxError: Unexpected identifier。如果我只想向JS代碼發送一個簡單的字符串值怎么辦?目前有什么問題嗎?任何幫助表示贊賞!謝謝!
查看完整描述

4 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

你可以做:


<!DOCTYPE html>

<html>

<head>

  <title>Payment Receipt</title>

</head>


<body>


<?php

...

if($row) {

    $myValue = 'Hi there!';

?>

<script>

var msg = "<?php echo $myValue; ?>"; //trying to set it to a JS var, so I could send it to below

//Your remaining js script here ...


</script>

<?php } else { 

//your else condition

}

?>

</body>

</html>


查看完整回答
反對 回復 2023-04-27
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

嘗試這個


<!DOCTYPE html>

<html>

<head>

  <title>Payment Receipt</title>

</head>


<body>


<?php

...

if($row) {

    $myValue = 'Hi there!'

?>

<script>

var msg = "<?php $myValue; ?>";


</script>

<?php } else { 

  echo 'Incorrect Value';

}

?>

</body>

</html>


查看完整回答
反對 回復 2023-04-27
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

簡化你的代碼(調試時你應該總是這樣做?。┠阌羞@個:


$myValue = 'Hi there!';

echo <<<JS001

<script type="text/javascript">

var msg = {$myValue};

</script>

JS001;

如果您查看返回給瀏覽器的 HTML,您會發現它看起來像這樣:


<script type="text/javascript">

var msg = Hi there!;

</script>

瀏覽器不知道“你好!” 應該是一個字符串,所以它試圖將它作為代碼執行。


你想要的輸出是這樣的:


<script type="text/javascript">

var msg = 'Hi there!';

</script>

所以我們需要將這些引號添加到 PHP 中:


$myValue = 'Hi there!';

echo <<<JS001

<script type="text/javascript">

var msg = '{$myValue}';

</script>

JS001;

作為更通用的解決方案,您可以濫用 JSON 字符串是有效的 JS 值這一事實,并json_encode在 PHP 中使用:


$myValue = 'Hi there!';

$myValueJson = json_encode($myValue);

echo <<<JS001

<script type="text/javascript">

var msg = {$myValueJson};

</script>

JS001;

這在這種情況下沒有區別,但對于傳遞其他類型的值很有用 - 數組null等



查看完整回答
反對 回復 2023-04-27
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

為了更好地管理代碼,您可能應該將 HTML、PHP 和 JS 代碼分開放在不同的文件中。


想象一下這樣的事情:


控制器.php



$displayName="David";


include 'vue.php';


vue.php



<html>

...

<body>


<div id="php-data" data-displayName="<?php echo $displayName ?>"></div>


</body>

</html>


腳本.js


<script>

var msg = document.getElementById('php-data').dataset.displayName // "David";


</script>


查看完整回答
反對 回復 2023-04-27
  • 4 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號