错误意外令牌}

时间:2014-04-10 09:00:52

标签: javascript jsp google-maps-api-3

我正在尝试从数据库中恢复此值,并使用JSP将其发送到网页:

<script type="text/javascript">
var sessionParameters={};
sessionParameters.lat=<%=session.getAttribute("lat") %>
sessionParameters.lng=<%=session.getAttribute("lng") %>
sessionParameters.geometry=<%=session.getAttribute("geo")%>;
console.log(JSON.stringify(sessionParameters));//this line does not work
</script>

这是Firebug控制台向我显示的内容:

 var sessionParameters={};
 sessionParameters.lat=null
 sessionParameters.lng=null
 sessionParameters.geometry=nj|}CqzmoXuo_Tsbgv@dlfk@edwBbduHk}nr@hn`X~hkS;
 console.log(JSON.stringify(sessionParameters));//this line does not work 

在Google Chrome控制台中,我遇到此错误:

 Uncaught SyntaxError: Unexpected token } 
 Uncaught TypeError: Cannot read property 'geometry' of undefined 

尝试执行此操作时发生第二个错误:

 var params=window.sessionParameters;
 var path=loader.decodeShape(params.geometry);
 var pline=line.createPolyline(path,'#FF0000');

2 个答案:

答案 0 :(得分:3)

如果您将字符串值传递给JavaScript,则需要将其括在撇号或引号中。

sessionParameters.geometry = "<%=session.getAttribute("geo")%>";

答案 1 :(得分:1)

您必须使用引号"并执行以下操作:

sessionParameters.geometry="nj|}CqzmoXuo_Tsbgv@dlfk@edwBbduHk}nr@hn`X~hkS";

sessionParameters.geometry="<%=session.getAttribute("geo")%>";