[英]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.