Javascript JTemplate中的转义字符串
我有一个JTemplate字符串,看起来像这样Javascript JTemplate中的转义字符串,javascript,jquery,jtemplates,Javascript,Jquery,Jtemplates,我有一个JTemplate字符串,看起来像这样 <a class="add" href="#" onclick="javascript:myfunction('{$T.Properties.Title}')" > 当参数$T.Properties.Title是一个包含单引号字符的字符串时,此代码将中断 我可以在传递参数值时使用双引号字符,但我的代码将因双引号而中断 如何对输入字符串进行转义,以便我的代码适用于包含单引号和双引号的字符串?创建对象时,需要使用反斜杠转义引号: P
<a class="add" href="#" onclick="javascript:myfunction('{$T.Properties.Title}')" >
当参数$T.Properties.Title是一个包含单引号字符的字符串时,此代码将中断
我可以在传递参数值时使用双引号字符,但我的代码将因双引号而中断
如何对输入字符串进行转义,以便我的代码适用于包含单引号和双引号的字符串?创建对象时,需要使用反斜杠转义引号:
Properties = {Title: 'I\'m lovin\' my quotes'};
编辑:
根据你的评论:
遗憾的是,无法控制源头(JSON来自第三方 聚会场所 您可以尝试使用
setTemplate(s,[],{filter\u params:true});
据了解,它正在使用escapeHTML,但我还没有尝试过,也不知道它是如何工作的
请参阅有关使用筛选数据转义HTML的问题:
或者在收到JSON对象后尝试转义引号。
我相信在PHP中,您可以使用json\u encode
——请参见此处:
这里描述的其他解决方案:我也有同样的问题,最后我做的是在java脚本中转义引号
下面是我的代码
在模板中:
$('#content').setParam('getUrl', getUrl);
在HTML中;在模板内部
href="{$P.getUrl($T.RESULTS.URL)}"
JS方法:
function(theLink){
return theLink.replace(/\"/g, "%22");
//If you want to escape all the characters use the following
return escape((theLink))
}
干杯。:)遗憾的是,无法控制来源:(JSON来自第三方网站。