Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代时出现未终止的字符串错误_Javascript_Jquery - Fatal编程技术网

Javascript 迭代时出现未终止的字符串错误

Javascript 迭代时出现未终止的字符串错误,javascript,jquery,Javascript,Jquery,这是我的代码: <c:forEach items="${entry.value}" var="keyval"> var bdgroup= { elem1: '${keyval.partno}', elem2: '${keyval.location}', elem3: '${keyval.village}', elem4: '${keyval.id}' }; exampleArray.push(bdgroup); </c:forEach>

这是我的代码:

<c:forEach items="${entry.value}" var="keyval">
 var bdgroup= {
   elem1: '${keyval.partno}',
   elem2: '${keyval.location}',
   elem3: '${keyval.village}',
   elem4: '${keyval.id}'
   };
   exampleArray.push(bdgroup);
</c:forEach>

变量bdgroup={
elem1:“${keyval.partno}”,
elem2:“${keyval.location}”,
elem3:“${keyval.village}”,
elem4:“${keyval.id}”
};
例如array.push(bdgroup);
我越来越

'未终止的字符串文字错误'`


有时它工作正常,但在其他情况下会发生此错误。

当例如
${keyval.id}
展开时,如果它有一个单引号,则Javascript将如下所示

elem1: 'what's up?'
因此,您的未终止字符串错误


在将引号放入JSON之前对其进行转义。

看起来您使用的是标记库,单引号中的元素由页面处理器生成

我敢打赌,在失败的时候,您的值包含单引号


转义单引号,这应该可以解决问题。

转义单引号和任何其他特殊字符,以便正确获取值


I'm==>I'm

正是我在控制台中看到的..我尝试了这个..var villa='${keyval.id}.replace(/'/g,'');但这也失败了……我怎么才能逃脱呢?@sakar你需要把它放在牙套里。我不确定您使用的是什么工具,但它应该更像
'${keyval.id.toEscapedString()}'
。这在javascript中是不可能替换的。按照您的想法,我在服务器端替换了它。Mark已经回答了这个问题,但我不喜欢您反复声明bdgroup。快速删除的一种方法是:exampleArray.push({elem1:'expr',elem2:'expr',…});如果有适当的空白,它应该同样容易阅读。