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

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

如何將php變量放在不同的javascript對象中?

如何將php變量放在不同的javascript對象中?

PHP
滄海一幻覺 2023-06-18 15:54:09
我正在嘗試從 php 獲取數據,將其存儲為 json 并將其加載到我的 javascript 代碼中。我像這樣將我的變量存儲在 php 中:$data?=?array[]; $data?=?json_encode($raw_data);現在我想檢索該數據并在我的 javascript 文件中使用它。我試圖在我的 js 文件中使用以下代碼:var?data?="<?php?echo?$data??>";
查看完整描述

4 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

如果數據只在頁面加載時需要一次,您可以在 PHP 代碼中使用腳本塊,然后使用 JS 函數來獲取它。但是,如果數據根據用戶與頁面的交互進行更新,請記住,如果不使用 AJAX,則無法將數據從 PHP 中的服務器端發送到 JS 中的客戶端。

我建議您閱讀并使用以下 3 種方法之一:

XHR?獲取?或axios


查看完整回答
反對 回復 2023-06-18
?
喵喵時光機

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

您正在使用引號將字符串聲明為可變數據。

請刪除引號,這將符合您的期望。

因此,您的代碼應替換為以下幾行。

var data =<?php echo $data ?>;


查看完整回答
反對 回復 2023-06-18
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

var data = <?php echo $data ?>;

或者

var data = JSON.parse("<?php echo $data ?>");


查看完整回答
反對 回復 2023-06-18
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

最明顯的問題是你的引號,它使變量成為 JavaScript 中的字符串,而不是具有數據結構的復雜對象。因此,對變量中屬性等的任何引用都不起作用。應刪除引號,以便將數據作為對象文字呈現到發出的 JavaScript 中。


但是還有另一個重要的問題:如果這是在你所說的 .js 文件中完成的,那么 PHP 解釋器沒有在那里運行,所以 echo 將不起作用(引號或不引號),因為它不是由執行的PHP又變成了數據。您只會看到直接嵌入 JS 代碼中的 PHP 代碼。


您必須將數據回顯到 .php 文件中的腳本塊中,然后調用 .js 文件中的適當函數并將數據作為參數傳遞。如果只需要一次數據,這將很好地工作。


例如


文件


<?php

$data = array[];

$data = json_encode($raw_data);

?>


<script src="someJsFile.js"></script>

<script>

var data = <?php echo $data ?>; //inject the data into the JS as an object literal

someFunc(data); //pass the data to a function in someJsFile.js

</script>

文件:


function someFunc(data) {

  //your code to process the data

}

如果您需要在頁面的生命周期內保持更新,那么您將需要 AJAX 才能從服務器請求新數據,如其他答案之一所建議的那樣。


查看完整回答
反對 回復 2023-06-18
  • 4 回答
  • 0 關注
  • 181 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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