我试图将非常大的数组传递给 JavaScipt 以在客户端进行操作,但它不起作用。这些数组通常每个都有大约 12,000 个元素,当我只插入 2,000 个元素时,这段代码就可以正常运行。
<script type="text/javascript">
var getLenders = JSON.parse('<?php echo json_encode($getlenders); ?>');
var discountArray = JSON.parse('<?php echo json_encode($discountArray); ?>');
var getData = JSON.parse('<?php echo json_encode($sortedArray); ?>');
</script>
我将服务器的内存要求增加到 512MB(是以前的 4 倍),认为这已经足够了,但它仍然无法正常工作。在我将内存调至 1024MB 之前,我想知道是否还有其他原因导致内存无法正常工作。会不会是客户端内存的问题?
欢迎任何意见。
最佳答案
我确信这确实不是一个好主意,因为您无法知道客户端是否有足够的内存来运行您的页面,并且该页面会卡住浏览器或使其崩溃。
首先您可以优化此代码:
var getLenders = <?php $a = json_encode($getlenders); echo $a == null? '{}': $a; ?> ;
var discountArray = <?php $b = json_encode($discountArray); echo $b == null? '{}': $b; ?>;
var getData = <?php $c = json_encode($sortedArray); echo $c == null? '{}': $c; ?>;
因为json是基于JavaScript的,不需要转成字符串再解析。
第二,但我有一个想法:在需要时使用 ajax
获取所需的值。
关于javascript - JSON 解析 - 内存依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47664228/