JavaScript传递字符串数组问题
问题描述:
从我的播放!框架视图我通过一个字符串数组到我喜欢的js方法:JavaScript传递字符串数组问题
<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})
但不起作用。
答
您的字符串需要用引号和反斜杠进行包围转义。
使“和“打印出\”和\”
答
我能够解决的问题:
- 逃脱字符JS不‘喜欢’
-
与周边引用
final String hotelName = StringEscapeUtils .escapeJavaScript(hotel.name); hotelsNames.add("'" + hotelName + "'");