0

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

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

问题是有时包含具有orhotelsNames的字符串,例如:'&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})但不起作用。

4

2 回答 2

0

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

这样 " 和 ' 打印为 \" 和 \'

于 2012-04-04T11:08:54.857 回答
0

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

  • 转义字符 JS 不“喜欢”
  • 用引号包围

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

于 2012-04-04T11:54:46.780 回答