我來代碼是這樣的:json_encode和javascript常數
<script>
CONT_TEXT = 'Some Text'
var jsobj = <?php json_encode(array(
'prop1' => 'something',
'prop2' => 'CONT_TEXT',
'prop3' => 'location.host',
)) ; ?>;
alert(jsobj.prop2);
alert(jsobj.prop3);
</script>
輸出爲:
<script>
CONT_TEXT = 'Some Text'
var jsobj = {"prop1":"something","prop2":"CONT_TEXT","prop3":"location.host"};
alert(jsobj.prop2);
alert(jsobj.prop3);
</script>
我想第一個警報顯示:Some Text
和第二場演出的網站主機屬性。這意味着:
<script>
CONT_TEXT = 'Some Text'
var jsobj = {"prop1":"something","prop2":CONT_TEXT,"prop3":location.host};
alert(jsobj.prop2);
alert(jsobj.prop3);
</script>
"
是我的問題!
我該如何在PHP中通過json_encode傳遞javascript約束?
你的想法是什麼?
你嘗試只顯示prop3? –
JSON只能包含數據。您不能在JSON編碼數據中引用外部變量。您可以將該信息(即對變量的引用)編碼爲(例如)字符串,然後在客戶端對其進行解碼。但是你必須爲此創建自己的邏輯。你如何編碼信息取決於你,沒有最佳做法。 –