我想将PHP数组传递给JS。为此,我使用json_encode an,然后在js json.parse((中使用json_encode。
现在的问题是,json.parse trow一个例外"丢失(在参数列表之后"。我猜是数字中的撇号(number_format> chf(。
剪报:
<script>
(function($) {
var prices = JSON.parse('<?= $this->prices_json; ?>'); ...
..." OffSetDruck_4f":{" 1S":" 583.82"," 2S":" 1'090.09"} ...
- 有单个引号要逃脱吗?如果是这样,如何最好地做?
- JSON_ENCODE在JS JSON.PARSE中是将PHP阵列传递给JS(在模板上(的最佳实践吗?如果没有,如何最好地做?
有单个引号要逃脱吗?
在javaScript字符串字面文字中,必须逃脱的单句字符串字样。
…这就是您所拥有的: 'data with ' and then at the end'
。
如果是这样,如何最好地做?
完全不使用JavaScript字符串字面。
JSON是JavaScript文字符号的子集,因此只需将其视为JavaScript。不要尝试将其包裹在字符串中,然后显式解析。
var prices = <?= $this->prices_json; ?>;
尝试php:addslashes(json_encode($ php array((
有单个引号要逃脱吗?如果是这样,如何最好地做?
json_encode应该逃脱所有需要逃脱的一切。
JSON_ENCODE是在JS JSON.PARSE中将PHP阵列传递给JS(在模板上(的最佳实践吗?如果没有,如何最好地做?
您应该使用JSON_ENCODE,以确保输出正确。不要依赖默认数组输出。它与JSON无关。
您根本不需要在这里使用json.parse。
var prices = <?= json_encode($this->prices_json); ?>;