JS的onclick()方法参数中含有引号导致参数传递异常

首先我们应该知道引号导致的问题主要是参数不正常的截取,因为参数中传递的引号可能会与前边包括方法名的引号遥相呼应,导致问题,例如

onlick="show(你是"哈哈")"

这样就导致错误的发生了,这些参数往往是动态注入的,比如freemarker这些模板引擎。

解决这个问题的操作还是需要用到转义\,让html不解析他们。
这里以Freemarker做例子

onclick="showMsg('${datas.QUERY_SQL?replace("\'","\\'")}')"

这里将字符串中可能存在的'转换为\',

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容