JavaScript传递字符串数组问题

时间:2012-04-04 10:37:59

标签: javascript playframework

从我的游戏开始!框架视图我将一个字符串数组传递给我的js方法,如:

 <script type="text/javascript">
        buildMapWithMarkers('map_canvas', ${hotelsLat}, ${hotelsLng}, ${hotelsNames}), 'false'); 
    </script>

问题是有时hotelsNames包含'&的字符串,例如Hyatt's Green

buildMapWithMarkers('map_canvas', [43.3484420, 43.614980, 43.549480], [-97.4318550, -97.61660500000001, -97.5021910], [Sportsmans Acres Pheasant Hunts, Hyatt's Green Acres, Guest Room Motel]), 'false'); 

所以它抛出了一些例外:

Uncaught SyntaxError: Unexpected identifier

你能帮我解释一下这个(在视图或控制器中)吗?

我尝试过:encodeURIComponent(${hotelsNames})但不起作用。

2 个答案:

答案 0 :(得分:0)

您的字符串需要用引号括起来并反斜杠转义。

这样“和'打印为\”和\'

答案 1 :(得分:0)

我能够通过以下方式解决问题:

  • 逃避角色JS不“喜欢”
  • 围绕引号

    final String hotelName = StringEscapeUtils .escapeJavaScript(hotel.name); hotelsNames.add("'" + hotelName + "'");