簡體   English   中英

不尋常的JSON.parse參數:JSON.parse( <?= data; ?> ))

[英]unusual JSON.parse Parameter: JSON.parse(<?= data; ?>))

首先,如果這是一個新手答案,對不起,因為我只是編碼方面的新手。

我只是對我在互聯網上某個地方發現的json.parse方法感到好奇。

所以代碼是這樣的:

var data = JSON.parse(<?= data; ?>);

我想知道的是JSON.parse中的參數---> (<?= data; ?>)是什么意思?

因為據我所知JSON.parse的語法是JSON.parse(text[, reviver])

謝謝!

這是服務器端處理語言( 稱為Plates ),其中data是從服務器傳遞到HTML文件的變量。 它不是本機JavaScript;它不是本地JavaScript。 而是服務器端在客戶端中呈現變量。

<?= data; ?> <?= data; ?>在調用變量的任何時間點呈現data變量的完整內容。 在您的情況下,這是一個在客戶端JavaScript中解析的JSON變量。 <?= data; ?> <?= data; ?>以字符串化JSON的形式返回data的內容(例如JSON.stringify(data) ),然后在輸出中使用JSON.parse()使其成為客戶端JavaScript中的可用變量。

編輯 :快速的Google搜索顯示這是一種稱為Plates的PHP模板語言。 看這里

這看起來像一個模板標記,它將評估變量的值,並在呈現模板時將其導出。 我不確定,但是由於模板通常使用定界符來表示不同的內容,因此似乎就是這樣。

我假設該特定示例正在輸出一個名為data的變量,因為它使用以下分隔符: <?= ,由於它具有等號,因此通常表示輸出。 這是在瀏覽器中呈現頁面之前完成的,更重要的是,在運行此特定腳本之前; 因此,我期望的是,在渲染模板時,數據將解析為某些JSON字符串,然后在運行腳本時,該字符串將被解析為JavaScript對象。

<?= data; ?> <?= data; ?>應該是一個php變量,整個過程將由客戶端渲染時從服務器發送的有效JSON代替。

暫無
暫無

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

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