通过AJAX加载大型Javascript数组

时间:2016-08-02 00:15:15

标签: javascript json ajax

我需要将javascript数组传递给函数...

[0,1,2,3,4]

...但我希望通过ajax按需加载数组,并将服务器端文件格式化为...

[
  0,
  1,
  2,
  3,
  4
]

我需要它在客户端执行尽可能少的计算,因为数组将是巨大的,所以我将其格式化。但是我似乎误解了一些关于JSON的东西,因为它说它在发出ajax请求后在客户端就是无效的JSON。

如何在没有任何(或极少)客户端处理的情况下通过ajax加载非常大的数组?

修改 它适用于Google Maps热图图层。这是他们网站上关于如何将其传递给功能客户端的示例:

[
  new google.maps.LatLng(37.782551, -122.445368),
  new google.maps.LatLng(37.782745, -122.444586),
  new google.maps.LatLng(37.782842, -122.443688),
  new google.maps.LatLng(37.782919, -122.442815),
  new google.maps.LatLng(37.782992, -122.442112),
  new google.maps.LatLng(37.783100, -122.441461)
]

我在示例中用原始数字替换了数据,以简化问题。我想使用ajax请求直接加载该数组。用户可以通过切换按钮查看多个热图。

1 个答案:

答案 0 :(得分:0)

似乎(我可能在这里错了)您正在计算客户端的LatLng函数。这也意味着您要发送

等数据
new google.maps.LatLng(37.782551, -122.445368)

在JSON文件中的direclty。 JSON数组只能接受String,Object,Boolean,Null和Numbers。

要使new google.maps.LatLng(37.782551, -122.445368)有效,就需要用引号括起来。

如果你解决了这个问题,你的JSON就会有效。